@ -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")))