[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190612180031.e9314711c9d0c77ba915d977@linux-foundation.org>
Date: Wed, 12 Jun 2019 18:00:31 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Joel Savitz <jsavitz@...hat.com>
Cc: linux-kernel@...r.kernel.org, Rafael Aquini <aquini@...hat.com>,
David Rientjes <rientjes@...gle.com>, linux-mm@...ck.org
Subject: Re: [RESEND PATCH v2] mm/oom_killer: Add task UID to info message
on an oom kill
On Wed, 12 Jun 2019 13:57:53 -0400 Joel Savitz <jsavitz@...hat.com>
wrote:
> In the event of an oom kill, useful information about the killed
> process is printed to dmesg. Users, especially system administrators,
> will find it useful to immediately see the UID of the process.
>
> In the following example, abuse_the_ram is the name of a program
> that attempts to iteratively allocate all available memory until it is
> stopped by force.
>
> Current message:
>
> Out of memory: Killed process 35389 (abuse_the_ram)
> total-vm:133718232kB, anon-rss:129624980kB, file-rss:0kB,
> shmem-rss:0kB
>
> Patched message:
>
> Out of memory: Killed process 2739 (abuse_the_ram),
> total-vm:133880028kB, anon-rss:129754836kB, file-rss:0kB,
> shmem-rss:0kB, UID 0
The other fields are name:value so it seems better to make the UID
field conform.
Also, there's no typesafe way of printing a uid_t (using the printk %p trick)
so yes, we have to assume its type. But assuming unsigned int is
better than assuming int!
So...
s/UID %d/UID:%u/ in printk
--- a/mm/oom_kill.c~mm-oom_killer-add-task-uid-to-info-message-on-an-oom-kill-fix
+++ a/mm/oom_kill.c
@@ -876,7 +876,7 @@ static void __oom_kill_process(struct ta
*/
do_send_sig_info(SIGKILL, SEND_SIG_PRIV, victim, PIDTYPE_TGID);
mark_oom_victim(victim);
- pr_err("%s: Killed process %d (%s) total-vm:%lukB, anon-rss:%lukB, file-rss:%lukB, shmem-rss:%lukB, UID %d\n",
+ pr_err("%s: Killed process %d (%s) total-vm:%lukB, anon-rss:%lukB, file-rss:%lukB, shmem-rss:%lukB, UID:%u\n",
message, task_pid_nr(victim), victim->comm,
K(victim->mm->total_vm),
K(get_mm_counter(victim->mm, MM_ANONPAGES)),
_
Powered by blists - more mailing lists