• Peter Zijlstra's avatar
    sched: Add enqueue/dequeue flags · 371fd7e7
    Peter Zijlstra authored
    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: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <new-submission>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    371fd7e7
sched_rt.c 40.4 KB