*参照元 [#o8893239] #backlinks *説明 [#n76315fc] -パス: [[linux-2.6.33/include/linux/sched.h]] -FIXME: これは何? --説明 **参考 [#m6cf72fc] *実装 [#fe83ddb6] /* * NOTE! "signal_struct" does not have it's own * locking, because a shared signal_struct always * implies a shared sighand_struct, so locking * sighand_struct is always a proper superset of * the locking of signal_struct. */ struct signal_struct { atomic_t count; atomic_t live; - --[[linux-2.6.33/atomic_t]] wait_queue_head_t wait_chldexit; /* for wait4() */ - --[[linux-2.6.33/wait_queue_head_t]] /* current thread group signal load-balancing target: */ struct task_struct *curr_target; - --[[linux-2.6.33/task_struct]] /* shared signal handling: */ struct sigpending shared_pending; - --[[linux-2.6.33/shared_pending]] /* thread group exit support */ int group_exit_code; /* overloaded: * - notify group_exit_task when ->count is equal to notify_count * - everyone except group_exit_task is stopped during signal delivery * of fatal signals, group_exit_task processes the signal. */ int notify_count; struct task_struct *group_exit_task; /* thread group stop support, overloads group_exit_code too */ int group_stop_count; unsigned int flags; /* see SIGNAL_* flags below */ /* POSIX.1b Interval Timers */ struct list_head posix_timers; - --[[linux-2.6.33/list_head]] /* ITIMER_REAL timer for the process */ struct hrtimer real_timer; - --[[linux-2.6.33/hrtimer]] struct pid *leader_pid; - --[[linux-2.6.33/pid]] ktime_t it_real_incr; - --[[linux-2.6.33/ktime_t]] /* * ITIMER_PROF and ITIMER_VIRTUAL timers for the process, we use * CPUCLOCK_PROF and CPUCLOCK_VIRT for indexing array as these * values are defined to 0 and 1 respectively */ struct cpu_itimer it[2]; - --[[linux-2.6.33/cpu_itimer]] /* * Thread group totals for process CPU timers. * See thread_group_cputimer(), et al, for details. */ struct thread_group_cputimer cputimer; - --[[linux-2.6.33/thread_group_cputimer]] /* Earliest-expiration cache. */ struct task_cputime cputime_expires; - --[[linux-2.6.33/task_cputime]] struct list_head cpu_timers[3]; struct pid *tty_old_pgrp; /* boolean value for session group leader */ int leader; struct tty_struct *tty; /* NULL if no tty */ - --[[linux-2.6.33/tty_struct]] /* * Cumulative resource counters for dead threads in the group, * and for reaped dead child processes forked by this group. * Live threads maintain their own counters and add to these * in __exit_signal, except for the group leader. */ cputime_t utime, stime, cutime, cstime; cputime_t gtime; cputime_t cgtime; - --[[linux-2.6.33/cputime_t]] #ifndef CONFIG_VIRT_CPU_ACCOUNTING - --[[linux-2.6.33/CONFIG_VIRT_CPU_ACCOUNTING]] cputime_t prev_utime, prev_stime; #endif unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw; unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt; unsigned long inblock, oublock, cinblock, coublock; unsigned long maxrss, cmaxrss; struct task_io_accounting ioac; - --[[linux-2.6.33/task_io_accounting]] /* * Cumulative ns of schedule CPU time fo dead threads in the * group, not including a zombie group leader, (This only differs * from jiffies_to_ns(utime + stime) if sched_clock uses something * other than jiffies.) */ unsigned long long sum_sched_runtime; /* * We don't bother to synchronize most readers of this at all, * because there is no reader checking a limit that actually needs * to get both rlim_cur and rlim_max atomically, and either one * alone is a single word that can safely be read normally. * getrlimit/setrlimit use task_lock(current->group_leader) to * protect this instead of the siglock, because they really * have no need to disable irqs. */ struct rlimit rlim[RLIM_NLIMITS]; - --[[linux-2.6.33/rlimit]] #ifdef CONFIG_BSD_PROCESS_ACCT - --[[linux-2.6.33/CONFIG_BSD_PROCESS_ACCT]] struct pacct_struct pacct; /* per-process accounting information */ - --[[linux-2.6.33/pacct_struct]] #endif #ifdef CONFIG_TASKSTATS - --[[linux-2.6.33/CONFIG_TASKSTATS]] struct taskstats *stats; - --[[linux-2.6.33/taskstats]] #endif #ifdef CONFIG_AUDIT - --[[linux-2.6.33/CONFIG_AUDIT]] unsigned audit_tty; struct tty_audit_buf *tty_audit_buf; - --[[linux-2.6.33/tty_audit_buf]] #endif int oom_adj; /* OOM kill score adjustment (bit shift) */ }; *コメント [#uea24550]