aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 68a504f6e474..b161ef8a902e 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -472,11 +472,15 @@ struct sched_dl_entity {
472 * has not been executed yet. This flag is useful to avoid race 472 * has not been executed yet. This flag is useful to avoid race
473 * conditions between the inactive timer handler and the wakeup 473 * conditions between the inactive timer handler and the wakeup
474 * code. 474 * code.
475 *
476 * @dl_overrun tells if the task asked to be informed about runtime
477 * overruns.
475 */ 478 */
476 unsigned int dl_throttled : 1; 479 unsigned int dl_throttled : 1;
477 unsigned int dl_boosted : 1; 480 unsigned int dl_boosted : 1;
478 unsigned int dl_yielded : 1; 481 unsigned int dl_yielded : 1;
479 unsigned int dl_non_contending : 1; 482 unsigned int dl_non_contending : 1;
483 unsigned int dl_overrun : 1;
480 484
481 /* 485 /*
482 * Bandwidth enforcement timer. Each -deadline task has its 486 * Bandwidth enforcement timer. Each -deadline task has its
@@ -551,6 +555,14 @@ struct task_struct {
551 unsigned long wakee_flip_decay_ts; 555 unsigned long wakee_flip_decay_ts;
552 struct task_struct *last_wakee; 556 struct task_struct *last_wakee;
553 557
558 /*
559 * recent_used_cpu is initially set as the last CPU used by a task
560 * that wakes affine another task. Waker/wakee relationships can
561 * push tasks around a CPU where each wakeup moves to the next one.
562 * Tracking a recently used CPU allows a quick search for a recently
563 * used CPU that may be idle.
564 */
565 int recent_used_cpu;
554 int wake_cpu; 566 int wake_cpu;
555#endif 567#endif
556 int on_rq; 568 int on_rq;
@@ -1427,6 +1439,7 @@ extern int idle_cpu(int cpu);
1427extern int sched_setscheduler(struct task_struct *, int, const struct sched_param *); 1439extern int sched_setscheduler(struct task_struct *, int, const struct sched_param *);
1428extern int sched_setscheduler_nocheck(struct task_struct *, int, const struct sched_param *); 1440extern int sched_setscheduler_nocheck(struct task_struct *, int, const struct sched_param *);
1429extern int sched_setattr(struct task_struct *, const struct sched_attr *); 1441extern int sched_setattr(struct task_struct *, const struct sched_attr *);
1442extern int sched_setattr_nocheck(struct task_struct *, const struct sched_attr *);
1430extern struct task_struct *idle_task(int cpu); 1443extern struct task_struct *idle_task(int cpu);
1431 1444
1432/** 1445/**
@@ -1484,6 +1497,11 @@ static inline struct thread_info *task_thread_info(struct task_struct *task)
1484extern struct task_struct *find_task_by_vpid(pid_t nr); 1497extern struct task_struct *find_task_by_vpid(pid_t nr);
1485extern struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *ns); 1498extern struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *ns);
1486 1499
1500/*
1501 * find a task by its virtual pid and get the task struct
1502 */
1503extern struct task_struct *find_get_task_by_vpid(pid_t nr);
1504
1487extern int wake_up_state(struct task_struct *tsk, unsigned int state); 1505extern int wake_up_state(struct task_struct *tsk, unsigned int state);
1488extern int wake_up_process(struct task_struct *tsk); 1506extern int wake_up_process(struct task_struct *tsk);
1489extern void wake_up_new_task(struct task_struct *tsk); 1507extern void wake_up_new_task(struct task_struct *tsk);