Merge tag 'topic/drm-misc-2016-04-01' of git://anongit.freedesktop.org/drm-intel...
[deliverable/linux.git] / include / linux / sched.h
index 084ed9fba62028eb7a9ec3214b3436f906eb31b2..52c4847b05e2882a72d04c3c75fc4d55c2b4a6b9 100644 (file)
@@ -51,6 +51,7 @@ struct sched_param {
 #include <linux/resource.h>
 #include <linux/timer.h>
 #include <linux/hrtimer.h>
+#include <linux/kcov.h>
 #include <linux/task_io_accounting.h>
 #include <linux/latencytop.h>
 #include <linux/cred.h>
@@ -425,6 +426,7 @@ extern signed long schedule_timeout(signed long timeout);
 extern signed long schedule_timeout_interruptible(signed long timeout);
 extern signed long schedule_timeout_killable(signed long timeout);
 extern signed long schedule_timeout_uninterruptible(signed long timeout);
+extern signed long schedule_timeout_idle(signed long timeout);
 asmlinkage void schedule(void);
 extern void schedule_preempt_disabled(void);
 
@@ -718,7 +720,7 @@ struct signal_struct {
        struct task_cputime cputime_expires;
 
 #ifdef CONFIG_NO_HZ_FULL
-       unsigned long tick_dep_mask;
+       atomic_t tick_dep_mask;
 #endif
 
        struct list_head cpu_timers[3];
@@ -1547,7 +1549,7 @@ struct task_struct {
 #endif
 
 #ifdef CONFIG_NO_HZ_FULL
-       unsigned long tick_dep_mask;
+       atomic_t tick_dep_mask;
 #endif
        unsigned long nvcsw, nivcsw; /* context switch counts */
        u64 start_time;         /* monotonic time in nsec */
@@ -1818,6 +1820,16 @@ struct task_struct {
        /* bitmask and counter of trace recursion */
        unsigned long trace_recursion;
 #endif /* CONFIG_TRACING */
+#ifdef CONFIG_KCOV
+       /* Coverage collection mode enabled for this task (0 if disabled). */
+       enum kcov_mode kcov_mode;
+       /* Size of the kcov_area. */
+       unsigned        kcov_size;
+       /* Buffer for coverage collection. */
+       void            *kcov_area;
+       /* kcov desciptor wired with this task or NULL. */
+       struct kcov     *kcov;
+#endif
 #ifdef CONFIG_MEMCG
        struct mem_cgroup *memcg_in_oom;
        gfp_t memcg_oom_gfp_mask;
@@ -1837,6 +1849,9 @@ struct task_struct {
        unsigned long   task_state_change;
 #endif
        int pagefault_disabled;
+#ifdef CONFIG_MMU
+       struct task_struct *oom_reaper_list;
+#endif
 /* CPU-specific state of this task */
        struct thread_struct thread;
 /*
@@ -2859,10 +2874,18 @@ static inline unsigned long stack_not_used(struct task_struct *p)
        unsigned long *n = end_of_stack(p);
 
        do {    /* Skip over canary */
+# ifdef CONFIG_STACK_GROWSUP
+               n--;
+# else
                n++;
+# endif
        } while (!*n);
 
+# ifdef CONFIG_STACK_GROWSUP
+       return (unsigned long)end_of_stack(p) - (unsigned long)n;
+# else
        return (unsigned long)n - (unsigned long)end_of_stack(p);
+# endif
 }
 #endif
 extern void set_task_stack_end_magic(struct task_struct *tsk);
This page took 0.027244 seconds and 5 git commands to generate.