mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-05 05:42:36 +00:00
timers: Omit POSIX timer stuff from task_struct when disabled
When CONFIG_POSIX_TIMERS is disabled, it is preferable to remove related structures from struct task_struct and struct signal_struct as they won't contain anything useful and shouldn't be relied upon by mistake. Code still referencing those structures is also disabled here. Signed-off-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org>
This commit is contained in:
parent
9f8197980d
commit
b18b6a9cef
6 changed files with 70 additions and 33 deletions
|
@ -42,6 +42,27 @@ extern struct fs_struct init_fs;
|
|||
#define INIT_PREV_CPUTIME(x)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_POSIX_TIMERS
|
||||
#define INIT_POSIX_TIMERS(s) \
|
||||
.posix_timers = LIST_HEAD_INIT(s.posix_timers),
|
||||
#define INIT_CPU_TIMERS(s) \
|
||||
.cpu_timers = { \
|
||||
LIST_HEAD_INIT(s.cpu_timers[0]), \
|
||||
LIST_HEAD_INIT(s.cpu_timers[1]), \
|
||||
LIST_HEAD_INIT(s.cpu_timers[2]), \
|
||||
},
|
||||
#define INIT_CPUTIMER(s) \
|
||||
.cputimer = { \
|
||||
.cputime_atomic = INIT_CPUTIME_ATOMIC, \
|
||||
.running = false, \
|
||||
.checking_timer = false, \
|
||||
},
|
||||
#else
|
||||
#define INIT_POSIX_TIMERS(s)
|
||||
#define INIT_CPU_TIMERS(s)
|
||||
#define INIT_CPUTIMER(s)
|
||||
#endif
|
||||
|
||||
#define INIT_SIGNALS(sig) { \
|
||||
.nr_threads = 1, \
|
||||
.thread_head = LIST_HEAD_INIT(init_task.thread_node), \
|
||||
|
@ -49,14 +70,10 @@ extern struct fs_struct init_fs;
|
|||
.shared_pending = { \
|
||||
.list = LIST_HEAD_INIT(sig.shared_pending.list), \
|
||||
.signal = {{0}}}, \
|
||||
.posix_timers = LIST_HEAD_INIT(sig.posix_timers), \
|
||||
.cpu_timers = INIT_CPU_TIMERS(sig.cpu_timers), \
|
||||
INIT_POSIX_TIMERS(sig) \
|
||||
INIT_CPU_TIMERS(sig) \
|
||||
.rlim = INIT_RLIMITS, \
|
||||
.cputimer = { \
|
||||
.cputime_atomic = INIT_CPUTIME_ATOMIC, \
|
||||
.running = false, \
|
||||
.checking_timer = false, \
|
||||
}, \
|
||||
INIT_CPUTIMER(sig) \
|
||||
INIT_PREV_CPUTIME(sig) \
|
||||
.cred_guard_mutex = \
|
||||
__MUTEX_INITIALIZER(sig.cred_guard_mutex), \
|
||||
|
@ -247,7 +264,7 @@ extern struct task_group root_task_group;
|
|||
.blocked = {{0}}, \
|
||||
.alloc_lock = __SPIN_LOCK_UNLOCKED(tsk.alloc_lock), \
|
||||
.journal_info = NULL, \
|
||||
.cpu_timers = INIT_CPU_TIMERS(tsk.cpu_timers), \
|
||||
INIT_CPU_TIMERS(tsk) \
|
||||
.pi_lock = __RAW_SPIN_LOCK_UNLOCKED(tsk.pi_lock), \
|
||||
.timer_slack_ns = 50000, /* 50 usec default slack */ \
|
||||
.pids = { \
|
||||
|
@ -274,13 +291,6 @@ extern struct task_group root_task_group;
|
|||
}
|
||||
|
||||
|
||||
#define INIT_CPU_TIMERS(cpu_timers) \
|
||||
{ \
|
||||
LIST_HEAD_INIT(cpu_timers[0]), \
|
||||
LIST_HEAD_INIT(cpu_timers[1]), \
|
||||
LIST_HEAD_INIT(cpu_timers[2]), \
|
||||
}
|
||||
|
||||
/* Attach to the init_task data structure for proper alignment */
|
||||
#define __init_task_data __attribute__((__section__(".data..init_task")))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue