Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • L linux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Smelkov
  • linux
  • Repository
You need to sign in or sign up before continuing.
  • linux
  • kernel
  • locking
  • rtmutex.c
Find file BlameHistoryPermalink
  • Xunlei Pang's avatar
    sched/deadline/rtmutex: Dont miss the dl_runtime/dl_period update · 85e2d4f9
    Xunlei Pang authored Mar 23, 2017
    
    
    Currently dl tasks will actually return at the very beginning
    of rt_mutex_adjust_prio_chain() in !detect_deadlock cases:
    
        if (waiter->prio == task->prio) {
            if (!detect_deadlock)
                goto out_unlock_pi; // out here
            else
                requeue = false;
        }
    
    As the deadline value of blocked deadline tasks(waiters) without
    changing their sched_class(thus prio doesn't change) never changes,
    this seems reasonable, but it actually misses the chance of updating
    rt_mutex_waiter's "dl_runtime(period)_copy" if a waiter updates its
    deadline parameters(dl_runtime, dl_period) or boosted waiter changes
    to !deadline class.
    
    Thus, force deadline task not out by adding the !dl_prio() condition.
    
    Signed-off-by: default avatarXunlei Pang <xlpang@redhat.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: juri.lelli@arm.com
    Cc: bigeasy@linutronix.de
    Cc: mathieu.desnoyers@efficios.com
    Cc: jdesfossez@efficios.com
    Cc: bristot@redhat.com
    Link: http://lkml.kernel.org/r/1460633827-345-7-git-send-email-xlpang@redhat.com
    Link: http://lkml.kernel.org/r/20170323150216.206577901@infradead.org
    
    
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    85e2d4f9
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7