diff options
| author | John Stultz <johnstul@us.ibm.com> | 2009-07-03 09:29:58 -0400 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2009-07-29 17:30:36 -0400 |
| commit | 14cbf680c340564ac33e3518bf6c110d08d93cc9 (patch) | |
| tree | e734c5e7ca6b944e460f9565fc6237ab58f92cb7 /include/linux | |
| parent | 3f79d2989e6f1fb3c67546bdecb4dca6a414b39e (diff) | |
posix-timers: thread posix-cpu-timers on -rt
posix-cpu-timer code takes non -rt safe locks in hard irq
context. Move it to a thread.
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/init_task.h | 1 | ||||
| -rw-r--r-- | include/linux/sched.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 91665bd3d5e1..0d2e6070a7d9 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
| @@ -161,6 +161,7 @@ extern struct cred init_cred; | |||
| 161 | .fs_excl = ATOMIC_INIT(0), \ | 161 | .fs_excl = ATOMIC_INIT(0), \ |
| 162 | .pi_lock = __ATOMIC_SPIN_LOCK_UNLOCKED(tsk.pi_lock), \ | 162 | .pi_lock = __ATOMIC_SPIN_LOCK_UNLOCKED(tsk.pi_lock), \ |
| 163 | .timer_slack_ns = 50000, /* 50 usec default slack */ \ | 163 | .timer_slack_ns = 50000, /* 50 usec default slack */ \ |
| 164 | .posix_timer_list = NULL, \ | ||
| 164 | .pids = { \ | 165 | .pids = { \ |
| 165 | [PIDTYPE_PID] = INIT_PID_LINK(PIDTYPE_PID), \ | 166 | [PIDTYPE_PID] = INIT_PID_LINK(PIDTYPE_PID), \ |
| 166 | [PIDTYPE_PGID] = INIT_PID_LINK(PIDTYPE_PGID), \ | 167 | [PIDTYPE_PGID] = INIT_PID_LINK(PIDTYPE_PGID), \ |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 84dd8f4ee2dc..69faf651b10a 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -1292,6 +1292,8 @@ struct task_struct { | |||
| 1292 | struct task_cputime cputime_expires; | 1292 | struct task_cputime cputime_expires; |
| 1293 | struct list_head cpu_timers[3]; | 1293 | struct list_head cpu_timers[3]; |
| 1294 | 1294 | ||
| 1295 | struct task_struct* posix_timer_list; | ||
| 1296 | |||
| 1295 | /* process credentials */ | 1297 | /* process credentials */ |
| 1296 | const struct cred *real_cred; /* objective and real subjective task | 1298 | const struct cred *real_cred; /* objective and real subjective task |
| 1297 | * credentials (COW) */ | 1299 | * credentials (COW) */ |
