X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=kernel%2Fsoftirq.c;h=fa7faed77dd0445017eeabeec9cdf9f7930c8a10;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=87e835b599368dd3fff800f94d4f040d42e37a27;hpb=16c70f8c1b54b61c3b951b6fb220df250fe09b32;p=linux-2.6.git diff --git a/kernel/softirq.c b/kernel/softirq.c index 87e835b59..fa7faed77 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -206,7 +206,6 @@ EXPORT_SYMBOL(local_bh_enable_ip); asmlinkage void __do_softirq(void) { - struct vx_info_save vxis; struct softirq_action *h; __u32 pending; int max_restart = MAX_SOFTIRQ_RESTART; @@ -216,7 +215,6 @@ asmlinkage void __do_softirq(void) account_system_vtime(current); __local_bh_disable((unsigned long)__builtin_return_address(0)); - __enter_vx_admin(&vxis); trace_softirq_enter(); cpu = smp_processor_id(); @@ -248,7 +246,6 @@ restart: trace_softirq_exit(); - __leave_vx_admin(&vxis); account_system_vtime(current); _local_bh_enable(); } @@ -578,8 +575,6 @@ static int __cpuinit cpu_callback(struct notifier_block *nfb, switch (action) { case CPU_UP_PREPARE: - BUG_ON(per_cpu(tasklet_vec, hotcpu).list); - BUG_ON(per_cpu(tasklet_hi_vec, hotcpu).list); p = kthread_create(ksoftirqd, hcpu, "ksoftirqd/%d", hotcpu); if (IS_ERR(p)) { printk("ksoftirqd for %i failed\n", hotcpu); @@ -616,7 +611,9 @@ static struct notifier_block __cpuinitdata cpu_nfb = { __init int spawn_ksoftirqd(void) { void *cpu = (void *)(long)smp_processor_id(); - cpu_callback(&cpu_nfb, CPU_UP_PREPARE, cpu); + int err = cpu_callback(&cpu_nfb, CPU_UP_PREPARE, cpu); + + BUG_ON(err == NOTIFY_BAD); cpu_callback(&cpu_nfb, CPU_ONLINE, cpu); register_cpu_notifier(&cpu_nfb); return 0;