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]