irq_work: Use per cpu atomics instead of regular atomics
authorChristoph Lameter <cl@linux.com>
Tue, 14 Dec 2010 16:28:45 +0000 (10:28 -0600)
committerTejun Heo <tj@kernel.org>
Sat, 18 Dec 2010 14:54:48 +0000 (15:54 +0100)
commit20b876918c065818b3574a426d418f68b4f8ad19
tree1e31b61ca0c28f528321ff13ed6315475dbf6992
parent05c2d088d0eb904e50460b04d77324c26cef4637
irq_work: Use per cpu atomics instead of regular atomics

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>
Signed-off-by: Christoph Lameter <cl@linux.com>
kernel/irq_work.c