|
Lines 3316-3321
static int blk_cpu_notify(struct notifie
Link Here
|
| 3316 |
&__get_cpu_var(blk_cpu_done)); |
3316 |
&__get_cpu_var(blk_cpu_done)); |
| 3317 |
raise_softirq_irqoff(BLOCK_SOFTIRQ); |
3317 |
raise_softirq_irqoff(BLOCK_SOFTIRQ); |
| 3318 |
local_irq_enable(); |
3318 |
local_irq_enable(); |
|
|
3319 |
} else if (action == CPU_ONLINE) { |
| 3320 |
int cpu = (unsigned long) hcpu; |
| 3321 |
|
| 3322 |
local_irq_disable(); |
| 3323 |
INIT_LIST_HEAD(&per_cpu(blk_cpu_done, cpu)); |
| 3324 |
local_irq_enable(); |
| 3319 |
} |
3325 |
} |
| 3320 |
|
3326 |
|
| 3321 |
return NOTIFY_OK; |
3327 |
return NOTIFY_OK; |
|
Lines 3451-3457
int __init blk_dev_init(void)
Link Here
|
| 3451 |
iocontext_cachep = kmem_cache_create("blkdev_ioc", |
3457 |
iocontext_cachep = kmem_cache_create("blkdev_ioc", |
| 3452 |
sizeof(struct io_context), 0, SLAB_PANIC, NULL, NULL); |
3458 |
sizeof(struct io_context), 0, SLAB_PANIC, NULL, NULL); |
| 3453 |
|
3459 |
|
| 3454 |
for (i = 0; i < NR_CPUS; i++) |
3460 |
for_each_online_cpu(i) |
| 3455 |
INIT_LIST_HEAD(&per_cpu(blk_cpu_done, i)); |
3461 |
INIT_LIST_HEAD(&per_cpu(blk_cpu_done, i)); |
| 3456 |
|
3462 |
|
| 3457 |
open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); |
3463 |
open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); |