From: Andrew Morton <akpm@linux-foundation.org>
To: Valdis.Kletnieks@vt.edu
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [2.6.34 PATCH] kernel: fix exit message for dead process
Date: Thu, 20 May 2010 11:36:03 -0700 [thread overview]
Message-ID: <20100520113603.e8103ef1.akpm@linux-foundation.org> (raw)
In-Reply-To: <10672.1274379460@localhost>
On Thu, 20 May 2010 14:17:40 -0400
Valdis.Kletnieks@vt.edu wrote:
> If a process is exiting with a non-zero preempt_count, it's in fact almost
> certainly going to fail to do so because it is exiting due to a BUG or OOPS
> while it held a lock, at which point it will never actually exit. So change
> the message to say it attempted to do so, rather than implying it succeeded.
> Problem spotted when a process BUG'ed, the kernel reported the 'exited' status,
> and then proceeded to BUG twice more dealing with the now-zombied process:
>
> > [ 35.357018] note: keymap[2481] exited with preempt_count 1
> > [ 35.360503] BUG: scheduling while atomic: keymap/2481/0x10000002
>
> Yes, one line is 83 characters. It's still more readable than a split printk.
>
> Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
>
> --- linux-2.6.34-mmotm0519/kernel/exit.c.dist 2010-05-20 10:59:11.646870592 -0400
> +++ linux-2.6.34-mmotm0519/kernel/exit.c 2010-05-20 14:05:16.068800223 -0400
> @@ -936,7 +936,7 @@ NORET_TYPE void do_exit(long code)
> raw_spin_unlock_wait(&tsk->pi_lock);
>
> if (unlikely(in_atomic()))
> - printk(KERN_INFO "note: %s[%d] exited with preempt_count %d\n",
> + printk(KERN_INFO "note: %s[%d] tried to exit with preempt_count %d\n",
> current->comm, task_pid_nr(current),
> preempt_count());
a) this message is kinda like __schedule_bug(), only
__schedule_bug() does more stuff. Perhaps some sharing is in order.
b) do_exit() eventually calls schedule() anyway, so if we have a bad
preempt_count() here, schedule() should end up calling
__schedule_bug(), so we don't need this message in do_exit().
ah-hah, __schedule_bug() doesn't get called on the exit() path due to
task->state==TASK_DEAD. But we can surely change that.
schedule_debug() needs fixing anyway - what's it doing assuming that
TASK_RUNNING==0?
c) it's pretty pointless printing anything at all if this task has
oopsed. This info is never interesting and will just cause the
useful info to scroll into oblivion.
next prev parent reply other threads:[~2010-05-20 18:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-19 23:13 mmotm 2010-05-19-16-12 uploaded akpm
2010-05-20 15:21 ` mmotm 2010-05-19 - Kconfig dependency list from hell Valdis.Kletnieks
2010-05-20 15:47 ` mmotm 2010-05-19 BUG weirdness Valdis.Kletnieks
2010-05-20 12:55 ` Andrew Morton
2010-05-20 16:45 ` Dmitry Torokhov
2010-05-20 17:52 ` Valdis.Kletnieks
2010-05-20 18:17 ` [2.6.34 PATCH] kernel: fix exit message for dead process Valdis.Kletnieks
2010-05-20 18:36 ` Andrew Morton [this message]
2010-05-20 21:08 ` [PATCH -mmotm] media: ak881x needs slab.h Randy Dunlap
2010-06-01 6:04 ` Ingo Molnar
2010-05-20 21:08 ` [PATCH -mmotm] backlight: fix s6e63m0 kconfig Randy Dunlap
2010-05-20 21:08 ` [PATCH -mmotm] backlight: fix s6e63m0 device attr function return types Randy Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100520113603.e8103ef1.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=Valdis.Kletnieks@vt.edu \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.