path: root/kernel
diff options
authorJiri Kosina <>2009-10-29 00:25:59 +0900
committerTejun Heo <>2009-10-29 00:25:59 +0900
commit403a91b1659cb149dbddc5885f892734ae4542d8 (patch)
treec953c271057033b5fbc47b8ddb77c78d926c221e /kernel
parent1a0c3298d6c6bfc357c38772e7f32d193c60c77d (diff)
percpu: allow pcpu_alloc() to be called with IRQs off
pcpu_alloc() and pcpu_extend_area_map() perform a series of spin_lock_irq()/spin_unlock_irq() calls, which make them unsafe with respect to being called from contexts which have IRQs off. This patch converts the code to perform save/restore of flags instead, making pcpu_alloc() (or __alloc_percpu() respectively) to be called from early kernel startup stage, where IRQs are off. This is needed for proper initialization of per-cpu rq_weight data from sched_init(). tj: added comment explaining why irqsave/restore is used in alloc path. Signed-off-by: Jiri Kosina <> Acked-by: Ingo Molnar <> Signed-off-by: Tejun Heo <>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions