From: Frederic Weisbecker <fweisbec@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
"Paul E. McKenney" <paulmck@us.ibm.com>,
Dave Jones <davej@redhat.com>, Ingo Molnar <mingo@kernel.org>
Subject: Re: [PATCH v2][RFC] tracing/context-tracking: Add preempt_schedule_context() for tracing
Date: Tue, 4 Jun 2013 14:29:20 +0200 [thread overview]
Message-ID: <20130604122919.GF14973@somewhere> (raw)
In-Reply-To: <1370348189.26799.117.camel@gandalf.local.home>
On Tue, Jun 04, 2013 at 08:16:29AM -0400, Steven Rostedt wrote:
> On Tue, 2013-06-04 at 14:09 +0200, Frederic Weisbecker wrote:
> >
> > > +/**
> > > + * preempt_schedule_context - preempt_schedule called by tracing
> > > + *
> > > + * The tracing infrastructure uses preempt_enable_notrace to prevent
> > > + * recursion and tracing preempt enabling caused by the tracing
> > > + * infrastructure itself. But as tracing can happen in areas coming
> > > + * from userspace or just about to enter userspace, a preempt enable
> > > + * can occur before user_exit() is called. This will cause the scheduler
> > > + * to be called when the system is still in usermode.
> > > + *
> > > + * To prevent this, the preempt_enable_notrace will use this function
> > > + * instead of preempt_schedule() to exit user context if needed before
> > > + * calling the scheduler.
> > > + */
> > > +void __sched notrace preempt_schedule_context(void)
> > > +{
> > > + struct thread_info *ti = current_thread_info();
> > > + enum ctx_state prev_ctx;
> > > +
> > > + if (likely(ti->preempt_count || irqs_disabled()))
> > > + return;
> >
> > or:
> > if (!preemptible())
> > return;
>
> Sure, but this is a cut and paste from preempt_schedule(). If I make
> that change here, I would want to make that there too.
>
> Peter, should I use !preemptible() or keep it like preempt_schedule()
> and make a clean up change for 3.11?
That seem to indeed make sense to use it in preempt_schedule() as well.
next prev parent reply other threads:[~2013-06-04 12:29 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-30 19:59 [PATCH][RFC] tracing/context-tracking: Add preempt_schedule_context() for tracing Steven Rostedt
2013-05-31 13:43 ` Frederic Weisbecker
2013-05-31 15:18 ` Steven Rostedt
2013-05-31 15:56 ` Frederic Weisbecker
2013-05-31 16:01 ` Peter Zijlstra
2013-05-31 16:11 ` Steven Rostedt
2013-06-01 1:30 ` [PATCH v2][RFC] " Steven Rostedt
2013-06-04 12:09 ` Frederic Weisbecker
2013-06-04 12:16 ` Steven Rostedt
2013-06-04 12:29 ` Frederic Weisbecker [this message]
2013-06-04 12:27 ` Frederic Weisbecker
2013-06-04 14:16 ` Steven Rostedt
2013-06-05 11:45 ` Peter Zijlstra
2013-06-05 13:41 ` Steven Rostedt
2013-06-06 2:49 ` Steven Rostedt
2013-06-06 10:07 ` Peter Zijlstra
2013-06-06 13:50 ` Steven Rostedt
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=20130604122919.GF14973@somewhere \
--to=fweisbec@gmail.com \
--cc=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=paulmck@us.ibm.com \
--cc=peterz@infradead.org \
--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 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.