posix-cpu-timers: Move state tracking to struct posix_cputimers
[sfrench/cifs-2.6.git] / include / linux / sched / signal.h
index efd8ce7675ede96262d26138d9d2670fb37cefa3..88050259c466e1feebd1dcb1ab4ac2ffdf58efa6 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/sched/task.h>
 #include <linux/cred.h>
 #include <linux/refcount.h>
+#include <linux/posix-timers.h>
 
 /*
  * Types defining task->signal and task->sighand and APIs using them:
@@ -56,18 +57,12 @@ struct task_cputime_atomic {
 /**
  * struct thread_group_cputimer - thread group interval timer counts
  * @cputime_atomic:    atomic thread group interval timers.
- * @running:           true when there are timers running and
- *                     @cputime_atomic receives updates.
- * @checking_timer:    true when a thread in the group is in the
- *                     process of checking for thread group timers.
  *
  * This structure contains the version of task_cputime, above, that is
  * used for thread group CPU timer calculations.
  */
 struct thread_group_cputimer {
        struct task_cputime_atomic cputime_atomic;
-       bool running;
-       bool checking_timer;
 };
 
 struct multiprocess_signals {
@@ -148,12 +143,9 @@ struct signal_struct {
         */
        struct thread_group_cputimer cputimer;
 
-       /* Earliest-expiration cache. */
-       struct task_cputime cputime_expires;
-
-       struct list_head cpu_timers[3];
-
 #endif
+       /* Empty if CONFIG_POSIX_TIMERS=n */
+       struct posix_cputimers posix_cputimers;
 
        /* PID/PID hash table linkage. */
        struct pid *pids[PIDTYPE_MAX];