diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-26 09:47:56 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-26 09:47:56 -0800 |
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 c20943eabb4..02e16d20730 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -293,6 +293,9 @@ extern void sched_show_task(struct task_struct *p); extern void softlockup_tick(void); extern void touch_softlockup_watchdog(void); extern void touch_all_softlockup_watchdogs(void); +extern int proc_dosoftlockup_thresh(struct ctl_table *table, int write, + struct file *filp, void __user *buffer, + size_t *lenp, loff_t *ppos); extern unsigned int softlockup_panic; extern unsigned long sysctl_hung_task_check_count; extern unsigned long sysctl_hung_task_timeout_secs; diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 47151c8495a..3cd51e579ab 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -130,6 +130,12 @@ struct execute_work { init_timer_deferrable(&(_work)->timer); \ } while (0) +#define INIT_DELAYED_WORK_ON_STACK(_work, _func) \ + do { \ + INIT_WORK(&(_work)->work, (_func)); \ + init_timer_on_stack(&(_work)->timer); \ + } while (0) + /** * work_pending - Find out whether a work item is currently pending * @work: The work item in question |