diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-26 12:47:56 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-26 12:47:56 -0500 |
commit | 3386c05bdbd3e60ca7158253442f0a00133db28e (patch) | |
tree | 19e48f0352e65eb83a0e922fb75528ed39f44ebd /include | |
parent | 1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899 (diff) | |
parent | 6552ebae25ffd57574c6e72d17fce67fea08b918 (diff) |
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
debugobjects: add and use INIT_WORK_ON_STACK
rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR
relay: fix lock imbalance in relay_late_setup_files
oprofile: fix uninitialized use of struct op_entry
rcu: move Kconfig menu
softlock: fix false panic which can occur if softlockup_thresh is reduced
rcu: add __cpuinit to rcu_init_percpu_data()
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sched.h | 3 | ||||
-rw-r--r-- | include/linux/workqueue.h | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index c20943eabb4c..02e16d207304 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -293,6 +293,9 @@ extern void sched_show_task(struct task_struct *p); | |||
293 | extern void softlockup_tick(void); | 293 | extern void softlockup_tick(void); |
294 | extern void touch_softlockup_watchdog(void); | 294 | extern void touch_softlockup_watchdog(void); |
295 | extern void touch_all_softlockup_watchdogs(void); | 295 | extern void touch_all_softlockup_watchdogs(void); |
296 | extern int proc_dosoftlockup_thresh(struct ctl_table *table, int write, | ||
297 | struct file *filp, void __user *buffer, | ||
298 | size_t *lenp, loff_t *ppos); | ||
296 | extern unsigned int softlockup_panic; | 299 | extern unsigned int softlockup_panic; |
297 | extern unsigned long sysctl_hung_task_check_count; | 300 | extern unsigned long sysctl_hung_task_check_count; |
298 | extern unsigned long sysctl_hung_task_timeout_secs; | 301 | extern unsigned long sysctl_hung_task_timeout_secs; |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 47151c8495aa..3cd51e579ab1 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
@@ -130,6 +130,12 @@ struct execute_work { | |||
130 | init_timer_deferrable(&(_work)->timer); \ | 130 | init_timer_deferrable(&(_work)->timer); \ |
131 | } while (0) | 131 | } while (0) |
132 | 132 | ||
133 | #define INIT_DELAYED_WORK_ON_STACK(_work, _func) \ | ||
134 | do { \ | ||
135 | INIT_WORK(&(_work)->work, (_func)); \ | ||
136 | init_timer_on_stack(&(_work)->timer); \ | ||
137 | } while (0) | ||
138 | |||
133 | /** | 139 | /** |
134 | * work_pending - Find out whether a work item is currently pending | 140 | * work_pending - Find out whether a work item is currently pending |
135 | * @work: The work item in question | 141 | * @work: The work item in question |