Re: [PATCH][RFC]: mutex: adaptive spin

From: Ingo Molnar
Date: Tue Jan 06 2009 - 11:56:51 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> One thought:
>
> BUG_ON()'s do_exit() shows a slightly misleading failure pattern to
> users: instead of a 'hanging' task, we'd get a misbehaving app due to
> one of its tasks exiting spuriously. It can even go completely unnoticed
> [users dont look at kernel logs normally] - while a hanging task
> generally does get noticed. (because there's no progress in processing)
>
> So instead of the BUG_ON() we could emit a WARN_ONCE() perhaps, plus not
> do any spinning and just block - resulting in an uninterruptible task
> (that the user will probably notice) and a scary message in the syslog?
> [all in the slowpath]

And we'd strictly do an uninterruptible sleep here, unconditionally: even
if this is within mutex_lock_interruptible() - we dont want a Ctrl-C or a
SIGKILL to allow to 'break out' the app from the deadlock.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/