Re: [PATCH 3/3] Stop tracing on a schedule bug

Frederic Weisbecker
2010-04-15T21:04:04Z

On Wed, Apr 14, 2010 at 12:20:16PM -0400, Chase Douglas wrote:
> This change adds a tracing_off_event() call to stop tracing on schedule
> bugs unless tracing_off=none was specified on the commandline.
>
> Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
> ---
> kernel/sched.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/kernel/sched.c b/kernel/sched.c
> index 6af210a..439f036 100644
> --- a/kernel/sched.c
> +++ b/kernel/sched.c
> @@ -3590,6 +3590,8 @@ static noinline void __schedule_bug(struct task_struct *prev)
> {
> struct pt_regs *regs = get_irq_regs();
>
> + tracing_off_event(TRACE_EVENT_BUG);
> +
> printk(KERN_ERR "BUG: scheduling while atomic: %s/%d/0x%08x\n",
> prev->comm, prev->pid, preempt_count());

I would rather call that a TRACE_EVENT_WARN as this is what happens: we
warn but we continue.