• Wanpeng Li's avatar
    sched/deadline: Add missing update_rq_clock() in dl_task_timer() · dcc3b5ff
    Wanpeng Li authored
    The following warning can be triggered by hot-unplugging the CPU
    on which an active SCHED_DEADLINE task is running on:
    
     ------------[ cut here ]------------
     WARNING: CPU: 7 PID: 0 at kernel/sched/sched.h:833 replenish_dl_entity+0x71e/0xc40
     rq->clock_update_flags < RQCF_ACT_SKIP
     CPU: 7 PID: 0 Comm: swapper/7 Tainted: G    B           4.11.0-rc1+ #24
     Hardware name: LENOVO ThinkCentre M8500t-N000/SHARKBAY, BIOS FBKTC1AUS 02/16/2016
     Call Trace:
      <IRQ>
      dump_stack+0x85/0xc4
      __warn+0x172/0x1b0
      warn_slowpath_fmt+0xb4/0xf0
      ? __warn+0x1b0/0x1b0
      ? debug_check_no_locks_freed+0x2c0/0x2c0
      ? cpudl_set+0x3d/0x2b0
      replenish_dl_entity+0x71e/0xc40
      enqueue_task_dl+0x2ea/0x12e0
      ? dl_task_timer+0x777/0x990
      ? __hrtimer_run_queues+0x270/0xa50
      dl_task_timer+0x316/0x990
      ? enqueue_task_dl+0x12e0/0x12e0
      ? enqueue_task_dl+0x12e0/0x12e0
      __hrtimer_run_queues+0x270/0xa50
      ? hrtimer_cancel+0x20/0x20
      ? hrtimer_interrupt+0x119/0x600
      hrtimer_interrupt+0x19c/0x600
      ? trace_hardirqs_off+0xd/0x10
      local_apic_timer_interrupt+0x74/0xe0
      smp_apic_timer_interrupt+0x76/0xa0
      apic_timer_interrupt+0x93/0xa0
    
    The DL task will be migrated to a suitable later deadline rq once the DL
    timer fires and currnet rq is offline. The rq clock of the new rq should
    be updated. This patch fixes it by updating the rq clock after holding
    the new rq's rq lock.
    Signed-off-by: default avatarWanpeng Li <wanpeng.li@hotmail.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: default avatarMatt Fleming <matt@codeblueprint.co.uk>
    Cc: Juri Lelli <juri.lelli@arm.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/1488865888-15894-1-git-send-email-wanpeng.li@hotmail.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    dcc3b5ff
deadline.c 46 KB