Re: 2.6.16-rc6-mm2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andi Kleen wrote:
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?

You can't do this in general, because CPU hotplug will reset the
affinity mask if the CPU is unplugged. I'd just say: don't do that.

However you can get some similar functionality by putting stuff in
task_struct.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux