#include <linux/kthread.h>
#include <linux/rcupdate.h>
#include <linux/smp.h>
-#include <linux/vs_context.h>
#include <asm/irq.h>
/*
asmlinkage void __do_softirq(void)
{
- struct vx_info_save vxis;
struct softirq_action *h;
__u32 pending;
int max_restart = MAX_SOFTIRQ_RESTART;
account_system_vtime(current);
__local_bh_disable((unsigned long)__builtin_return_address(0));
- __enter_vx_admin(&vxis);
trace_softirq_enter();
cpu = smp_processor_id();
trace_softirq_exit();
- __leave_vx_admin(&vxis);
account_system_vtime(current);
_local_bh_enable();
}
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);