sched: Add enqueue/dequeue flags
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Wed, 24 Mar 2010 15:38:48 +0000 (16:38 +0100)
committerIngo Molnar <mingo@elte.hu>
Fri, 2 Apr 2010 18:12:05 +0000 (20:12 +0200)
commit371fd7e7a56a5c136d31aa980011bd2f131c3ef5
treecf52014018e8258acd8bcfd486d855f098a02c03
parentcc87f76a601d2d256118f7bab15e35254356ae21
sched: Add enqueue/dequeue flags

In order to reduce the dependency on TASK_WAKING rework the enqueue
interface to support a proper flags field.

Replace the int wakeup, bool head arguments with an int flags argument
and create the following flags:

  ENQUEUE_WAKEUP - the enqueue is a wakeup of a sleeping task,
  ENQUEUE_WAKING - the enqueue has relative vruntime due to
                   having sched_class::task_waking() called,
  ENQUEUE_HEAD - the waking task should be places on the head
                 of the priority queue (where appropriate).

For symmetry also convert sched_class::dequeue() to a flags scheme.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/sched.h
kernel/sched.c
kernel/sched_fair.c
kernel/sched_idletask.c
kernel/sched_rt.c