diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-11-16 01:09:48 +0900 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-11-16 01:09:48 +0900 |
commit | dc186ad741c12ae9ecac8b89e317ef706fdaf8f6 (patch) | |
tree | f118cc4972031c681b201d2b8ed95b21df41c1be /arch/x86/kernel/smpboot.c | |
parent | a9366e61b03f55a6e009e687ad10e706714c9907 (diff) | |
download | op-kernel-dev-dc186ad741c12ae9ecac8b89e317ef706fdaf8f6.zip op-kernel-dev-dc186ad741c12ae9ecac8b89e317ef706fdaf8f6.tar.gz |
workqueue: Add debugobjects support
Add debugobject support to track the life time of work_structs.
While at it, remove duplicate definition of
INIT_DELAYED_WORK_ON_STACK().
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 565ebc6..ba43dfe 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -687,7 +687,7 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu) .done = COMPLETION_INITIALIZER_ONSTACK(c_idle.done), }; - INIT_WORK(&c_idle.work, do_fork_idle); + INIT_WORK_ON_STACK(&c_idle.work, do_fork_idle); alternatives_smp_switch(1); @@ -713,6 +713,7 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu) if (IS_ERR(c_idle.idle)) { printk("failed fork for CPU %d\n", cpu); + destroy_work_on_stack(&c_idle.work); return PTR_ERR(c_idle.idle); } @@ -831,6 +832,7 @@ do_rest: smpboot_restore_warm_reset_vector(); } + destroy_work_on_stack(&c_idle.work); return boot_error; } |