From: Thomas Gleixner <tglx@linutronix.de>
To: Chase Douglas <chase.douglas@canonical.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>, Ingo Molnar <mingo@elte.hu>,
Randy Dunlap <randy.dunlap@oracle.com>
Subject: Re: [PATCH 3/3] Stop tracing on a schedule bug
Date: Fri, 16 Apr 2010 01:50:46 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.00.1004160138200.3625@localhost.localdomain> (raw)
In-Reply-To: <p2n40ec3ea41004151627u11ca4d7dw46cbd6b58df9f1c8@mail.gmail.com>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 3488 bytes --]
On Thu, 15 Apr 2010, Chase Douglas wrote:
> On Thu, Apr 15, 2010 at 4:01 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> > On Thu, 15 Apr 2010, Chase Douglas wrote:
> >> On Thu, Apr 15, 2010 at 2:03 PM, Frederic Weisbecker <fweisbec@gmail.com> wrote:
> >> > 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.
> >>
> >> I tend to think of the TRACE_EVENT_* as an indication of severity and
> >> whether we want to stop the trace by default. From a distro
> >> standpoint, the likelihood that we want to continue tracing after a
> >> __schedule_bug is pretty low. It's easiest if we don't have to tell
> >
> > Well, scheduling while atomic is a BUG, but one of the category which
> > allows the kernel to continue. So in fact it's treated like a WARN_ON.
> > So the tracing_off_event() qualifier should be *_WARN.
> >
> > That's independent of the question whether you want to stop tracing in
> > that very case. Though I agree that the tracer should stop here.
>
> We seem to be agreeing on the functionality. The disagreement seems to
> be in the macro name/functionality mapping. However, the name of the
> function itself is *_bug. I don't see how things are clearer or more
> useful by inserting a *_WARN level macro in a *_bug named function.
Care to read what I wrote ? Again:
> > Well, scheduling while atomic is a BUG, but one of the category which
> > allows the kernel to continue. So in fact it's treated like a WARN_ON.
> > So the tracing_off_event() qualifier should be *_WARN.
It does not matter at all whether the function name has "bug" in it or
not. What matters is the semantics of the function. It does _NOT_
raise a BUG. It merily warns and tries to continue. So it follows the
WARN() semantics.
If you feel strong about that send a patch to
s/schedule_bug/schedule_warn/ and I'll ack it.
> Essentially, it makes more sense to me for the macro to represent the
> severity of the case, and not be coupled somehow to what the kernel
> decides to do outside of the tracing.
Essentially you are wrong. The semantic of schedule_bug() is clearly
WARN() and not BUG(). So the tracing off qualifier needs to be
WARN. And it does not matter what you consider as the severity. The
severity is given by the semantics of schedule_bug().
If your extra stupid grub hiding logic prevents an user to change the
trace off level then you need to fix that instead of anything else.
BTW, if interacting with grub is that hard: how does an user start the
tracer at all ?
Thanks,
tglx
next prev parent reply other threads:[~2010-04-15 23:51 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-14 16:20 [PATCH 1/3 v4] Add tracing_off_event() to stop tracing when a bug or warning occur Chase Douglas
2010-04-14 16:20 ` [PATCH 2/3] Add tracing_off_event() calls to BUG() and WARN() paths Chase Douglas
2010-04-15 20:57 ` Frederic Weisbecker
2010-04-15 21:49 ` Chase Douglas
2010-04-15 23:15 ` Frederic Weisbecker
2010-04-16 4:13 ` Chase Douglas
2010-04-14 16:20 ` [PATCH 3/3] Stop tracing on a schedule bug Chase Douglas
2010-04-15 21:03 ` Frederic Weisbecker
2010-04-15 21:45 ` Chase Douglas
2010-04-15 23:01 ` Thomas Gleixner
2010-04-15 23:10 ` Frederic Weisbecker
2010-04-15 23:27 ` Chase Douglas
2010-04-15 23:50 ` Thomas Gleixner [this message]
2010-04-16 0:21 ` Thomas Gleixner
2010-04-16 1:49 ` Frederic Weisbecker
2010-04-16 16:41 ` Steven Rostedt
2010-04-16 4:01 ` Chase Douglas
2010-04-16 16:46 ` Steven Rostedt
2010-04-16 17:14 ` Chase Douglas
2010-04-16 18:14 ` Frederic Weisbecker
2010-04-16 19:58 ` Thomas Gleixner
2010-04-19 22:30 ` Chase Douglas
2010-04-16 3:52 ` Chase Douglas
2010-04-15 20:13 ` [PATCH 1/3 v4] Add tracing_off_event() to stop tracing when a bug or warning occur Frederic Weisbecker
-- strict thread matches above, loose matches on Subject: below --
2010-03-18 13:48 [PATCH 1/3] " Chase Douglas
2010-03-18 13:48 ` [PATCH 3/3] Stop tracing on a schedule bug Chase Douglas
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=alpine.LFD.2.00.1004160138200.3625@localhost.localdomain \
--to=tglx@linutronix.de \
--cc=chase.douglas@canonical.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=randy.dunlap@oracle.com \
--cc=rostedt@goodmis.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®