[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091127045209.GA13914@elte.hu>
Date: Fri, 27 Nov 2009 05:52:09 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Tejun Heo <tj@...nel.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
Fr??d??ric Weisbecker <fweisbec@...il.com>,
Stephen Rothwell <sfr@...b.auug.org.au>,
linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Mike Galbraith <efault@....de>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>
Subject: Re: [PATCH 1/4 tip/sched/core] sched: rename preempt_notifier to
sched_notifier and always enable it
* Tejun Heo <tj@...nel.org> wrote:
> Hello, Peter, Ingo.
>
> 11/26/2009 09:40 PM, Peter Zijlstra wrote:
> > CALLBACK_EVENT() would be my preferred name, and shouldn't live anywhere
> > near the regular tracing bits, the tracing bits could simply add another
> > callback in it when enabled.
>
> I haven't looked at the mm code but if the scheduler callback
> requirement isn't gonna explode big time soon and we know which
> functions are the candidate callbacks at build time, I think this can
> be done pretty efficiently with an ulong enable mask per task and
> fixed function dispatch such that no callback case just goes through
> one likely() conditional test at the tracing point and callback cases
> are dispatched using conditional direct jump.
Yes - and that's what the tracepoints infrastructure is about.
Btw., longer term it will be faster than a mask check and a
default-untaken conditional: there's ongoign work to offer runtime
instruction patching features for tracing callbacks. There's the jump
patching optimization and also the immediate values patching
optimization.
We've got old-style notifiers for regular callbacks, we've got new-style
tracepoints which are callbacks and event source descriptors - and what
i'm asking for is to have _one_ callback mechanism, and to use that in
the scheduler. 5 callbacks using 3 different facilities is excessive -
i'd like to see just two callbacks using one facility.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists