Re: 2.6.16-rc6-mm2

From: Andi Kleen
Date: Tue Jun 13 2006 - 01:17:36 EST


On Tuesday 13 June 2006 07:08, Keith Owens wrote:
> Andi Kleen (on Tue, 13 Jun 2006 06:56:45 +0200) wrote:
> >
> >> I have previously suggested a lightweight solution that pins a process
> >> to a cpu
> >
> >That is preempt_disable()/preempt_enable() effectively
> >It's also light weight as much as these things can be.
>
> The difference being that preempt_disable() does not allow the code to
> sleep. There are some places where we want to use cpu local data
> and
> the code can tolerate preemption and even sleeping, as long as the
> process schedules back on the same cpu.

Seems like a pretty obscure case to optimize for.

Anyways if you want to do that you can always do

disable_preempt();
set thread affinity mask to current cpu
enable_preempt();
do weird stuff and sleep ... ;
restore affinity mask

Can any of these people proposing "solutions" in this thread
demonstrate this stuff is actually performance critical?

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/