• Peter Zijlstra's avatar
    sched/rtmutex: Refactor rt_mutex_setprio() · acd58620
    Peter Zijlstra authored
    With the introduction of SCHED_DEADLINE the whole notion that priority
    is a single number is gone, therefore the @prio argument to
    rt_mutex_setprio() doesn't make sense anymore.
    
    So rework the code to pass a pi_task instead.
    
    Note this also fixes a problem with pi_top_task caching; previously we
    would not set the pointer (call rt_mutex_update_top_task) if the
    priority didn't change, this could lead to a stale pointer.
    
    As for the XXX, I think its fine to use pi_task->prio, because if it
    differs from waiter->prio, a PI chain update is immenent.
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: juri.lelli@arm.com
    Cc: bigeasy@linutronix.de
    Cc: xlpang@redhat.com
    Cc: rostedt@goodmis.org
    Cc: mathieu.desnoyers@efficios.com
    Cc: jdesfossez@efficios.com
    Cc: bristot@redhat.com
    Link: http://lkml.kernel.org/r/20170323150216.303827095@infradead.orgSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    acd58620
rtmutex.c 47.3 KB