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/linux | |
| 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/linux')
| -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 |
