Messages in this thread | | | From | Andi Kleen <> | Subject | Re: 2.6.16-rc6-mm2 | Date | Tue, 13 Jun 2006 07:18:35 +0200 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |