From: Ingo Molnar <mingo@elte.hu>
To: "Peter Zijlstra" <peterz@infradead.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
=?unknown-8bit?B?RnLDqWTDqXJpYw==?= Weisbecker
<fweisbec@gmail.com>
Cc: Tejun Heo <tj@kernel.org>,
Stephen Rothwell <sfr@canb.auug.org.au>,
linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
Mike Galbraith <efault@gmx.de>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH 1/4 tip/sched/core] sched: rename preempt_notifier to sched_notifier and always enable it
Date: Thu, 26 Nov 2009 12:56:05 +0100 [thread overview]
Message-ID: <20091126115605.GA15189@elte.hu> (raw)
In-Reply-To: <1259234619.4273.32.camel@twins>
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Thu, 2009-11-26 at 11:32 +0100, Peter Zijlstra wrote:
> > On Thu, 2009-11-26 at 11:29 +0100, Ingo Molnar wrote:
> > > * Tejun Heo <tj@kernel.org> wrote:
> > >
> > > > Rename preempt_notifier to sched_notifier, move it from preempt.h to
> > > > sched.h, drop sched_ prefixes from ops names and make sched_notifier
> > > > always enabled.
> > > >
> > > > This is to prepare for adding more notification hooks. This patch
> > > > doesn't make any functional changes.
> > >
> > > The sched notifiers and the various event notifiers we have in the same
> > > codepaths should really be unified into a single callback framework.
> > >
> > > We have these _5_ callbacks:
> > >
> > > ....
> > > perf_event_task_sched_out(prev, next, cpu);
> > > ....
> > > fire_sched_out_notifiers(prev, next);
> > > ....
> > > trace_sched_switch(rq, prev, next);
> > > ....
> > > perf_event_task_sched_in(current, cpu_of(rq));
> > > fire_sched_in_notifiers(current);
> > > ....
> > >
> > > That could be done with just two callbacks - one for sched-out, one for
> > > sched-in.
> > >
> > > The best way to do that would be to use two TRACE_EVENT() callbacks,
> > > make them unconditional and register to them. (with wrappers to make it
> > > all convenient to use)
> > >
> > > This requires some work but needs to be done.
> >
> > Ugh,.. it also makes TRACE_EVENT unconditional.
> >
> > That really wants a separate option.. What we could do is take regular
> > notifier lists and extend them to auto-generate a tracepoint when the
> > trace stuff is enabled or something.
I wouldnt mind some form of TRACE_EVENT_CALLBACK() thing whose callback
facility is always available, even if CONFIG_PERF_EVENTS and
CONFIG_TRACING is disabled.
It might grow out of notifier.h - albeit i suspect the shorter path
would be to grow it from TRACE_EVENT().
( The various pagefault notifiers in arch/x86/mm/fault.c could use this
facility too. )
What we definitely dont want is the proliferation of callbacks.
> Also, there is this thing about direct and indirect function calls.
Yeah. The norm would be for those points to be disabled and have near
zero overhead. If it has callbacks registered it should be light-weight.
Ingo
next prev parent reply other threads:[~2009-11-26 11:56 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-26 8:00 linux-next: manual merge of the workqueues tree with the tip tree Stephen Rothwell
2009-11-26 8:12 ` Ingo Molnar
2009-11-26 9:15 ` Tejun Heo
2009-11-26 9:26 ` Ingo Molnar
2009-11-26 9:48 ` Tejun Heo
2009-11-26 9:51 ` Ingo Molnar
2009-11-26 10:11 ` [PATCH 1/4 tip/sched/core] sched: rename preempt_notifier to sched_notifier and always enable it Tejun Heo
2009-11-26 10:29 ` Ingo Molnar
2009-11-26 10:32 ` Peter Zijlstra
2009-11-26 11:23 ` Peter Zijlstra
2009-11-26 11:56 ` Ingo Molnar [this message]
2009-11-26 12:40 ` Peter Zijlstra
2009-11-27 2:11 ` Tejun Heo
2009-11-27 4:52 ` Ingo Molnar
2009-11-27 5:38 ` Tejun Heo
2009-11-27 5:46 ` Ingo Molnar
2009-11-27 6:01 ` Tejun Heo
2009-11-27 6:13 ` Ingo Molnar
2009-11-27 6:16 ` Tejun Heo
2009-11-27 6:21 ` Ingo Molnar
2009-11-27 6:38 ` Tejun Heo
2009-11-27 7:02 ` Ingo Molnar
2009-11-26 10:44 ` Tejun Heo
2009-11-27 3:33 ` Paul Mackerras
2009-11-27 4:54 ` Ingo Molnar
2009-11-26 10:13 ` [PATCH 2/4 tip/sched/core] sched: update sched_notifier and add wakeup/sleep notifications Tejun Heo
2009-11-26 10:13 ` [PATCH 3/4 tip/sched/core] sched: refactor try_to_wake_up() and implement try_to_wake_up_local() Tejun Heo
2009-11-26 10:14 ` [PATCH 4/4 tip/sched/core] sched: implement force_cpus_allowed() Tejun Heo
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=20091126115605.GA15189@elte.hu \
--to=mingo@elte.hu \
--cc=efault@gmx.de \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=sfr@canb.auug.org.au \
--cc=tglx@linutronix.de \
--cc=tj@kernel.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;
as well as URLs for NNTP newsgroup(s).