]> git.baikalelectronics.ru Git - kernel.git/commit
module: Use this_cpu_xx to dynamically allocate counters
authorChristoph Lameter <cl@linux-foundation.org>
Tue, 5 Jan 2010 06:34:50 +0000 (15:34 +0900)
committerTejun Heo <tj@kernel.org>
Tue, 5 Jan 2010 06:34:50 +0000 (15:34 +0900)
commite4b2e4c12a33c1c6ed381d32f40441741d35866e
treeb523bf2db00fff96f1ab488168fc16ab56c372aa
parent62934724b9f13c4e2495b78c7140b5533efe5e00
module: Use this_cpu_xx to dynamically allocate counters

Use cpu ops to deal with the per cpu data instead of a local_t. Reduces memory
requirements, cache footprint and decreases cycle counts.

The this_cpu_xx operations are also used for !SMP mode. Otherwise we could
not drop the use of __module_ref_addr() which would make per cpu data handling
complicated. this_cpu_xx operations have their own fallback for !SMP.

V8-V9:
- Leave include asm/module.h since ringbuffer.c depends on it. Nothing else
  does though. Another patch will deal with that.
- Remove spurious free.

Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/module.h
kernel/module.c