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
  • linux
  • kernel
  • time
  • hrtimer.c
Find file BlameHistoryPermalink
  • Thomas Gleixner's avatar
    hrtimer: Avoid double reprogramming in __hrtimer_start_range_ns() · 627ef5ae
    Thomas Gleixner authored Jul 13, 2021
    
    
    If __hrtimer_start_range_ns() is invoked with an already armed hrtimer then
    the timer has to be canceled first and then added back. If the timer is the
    first expiring timer then on removal the clockevent device is reprogrammed
    to the next expiring timer to avoid that the pending expiry fires needlessly.
    
    If the new expiry time ends up to be the first expiry again then the clock
    event device has to reprogrammed again.
    
    Avoid this by checking whether the timer is the first to expire and in that
    case, keep the timer on the current CPU and delay the reprogramming up to
    the point where the timer has been enqueued again.
    
    Reported-by: default avatarLorenzo Colitti <lorenzo@google.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20210713135157.873137732@linutronix.de
    
    627ef5ae
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7