Messages in this thread |  | | | Subject | Re: [cpuops cmpxchg V2 3/5] irq_work: Use per cpu atomics instead of regular atomics | | From | Peter Zijlstra <> | | Date | Wed, 15 Dec 2010 17:50:39 +0100 |
| |
On Wed, 2010-12-15 at 17:32 +0100, Tejun Heo wrote: > On 12/14/2010 05:28 PM, Christoph Lameter wrote: > > The irq work queue is a per cpu object and it is sufficient for > > synchronization if per cpu atomics are used. Doing so simplifies > > the code and reduces the overhead of the code. > > > > Before: > > > > christoph@linux-2.6$ size kernel/irq_work.o > > text data bss dec hex filename > > 451 8 1 460 1cc kernel/irq_work.o > > > > After: > > > > christoph@linux-2.6$ size kernel/irq_work.o > > text data bss dec hex filename > > 438 8 1 447 1bf kernel/irq_work.o > > > > Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> > > Peter, can you please ack this one?
I guess so, I don't much like the bare preempt_disable/enable there, and I'm wondering, aren't %fs prefixed insn slower than regular insn? Does it really pay to avoid this one address computation if there's multiple users in a function. %fs prefixes do take another byte, so it will also result in larger code at some point.
|  |