diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2006-02-05 02:27:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-05 14:06:51 -0500 |
commit | 88a2a4ac6b671a4b0dd5d2d762418904c05f4104 (patch) | |
tree | 8c30052a0d7fadec37c785a42a71b28d0a9c5fcf /block/ll_rw_blk.c | |
parent | cef5076987dd545ac74f4efcf1c962be8eac34b0 (diff) |
[PATCH] percpu data: only iterate over possible CPUs
percpu_data blindly allocates bootmem memory to store NR_CPUS instances of
cpudata, instead of allocating memory only for possible cpus.
As a preparation for changing that, we need to convert various 0 -> NR_CPUS
loops to use for_each_cpu().
(The above only applies to users of asm-generic/percpu.h. powerpc has gone it
alone and is presently only allocating memory for present CPUs, so it's
currently corrupting memory).
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Jens Axboe <axboe@suse.de>
Cc: Anton Blanchard <anton@samba.org>
Acked-by: William Irwin <wli@holomorphy.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'block/ll_rw_blk.c')
-rw-r--r-- | block/ll_rw_blk.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index f9fc07efd2da..e5aad8314585 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
@@ -3453,7 +3453,7 @@ int __init blk_dev_init(void) | |||
3453 | iocontext_cachep = kmem_cache_create("blkdev_ioc", | 3453 | iocontext_cachep = kmem_cache_create("blkdev_ioc", |
3454 | sizeof(struct io_context), 0, SLAB_PANIC, NULL, NULL); | 3454 | sizeof(struct io_context), 0, SLAB_PANIC, NULL, NULL); |
3455 | 3455 | ||
3456 | for (i = 0; i < NR_CPUS; i++) | 3456 | for_each_cpu(i) |
3457 | INIT_LIST_HEAD(&per_cpu(blk_cpu_done, i)); | 3457 | INIT_LIST_HEAD(&per_cpu(blk_cpu_done, i)); |
3458 | 3458 | ||
3459 | open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); | 3459 | open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); |