Skip to content

Commit 07b0137

Browse files
committed
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fix from Thomas Gleixner: "A single fix for a ~10 years old problem which causes high resolution timers to stop after a CPU unplug/plug cycle due to a stale flag in the per CPU hrtimer base struct. Paul McKenney was hunting this for about a year, but the heisenbug nature made it resistant against debug attempts for quite some time" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: hrtimer: Reset hrtimer cpu base proper on CPU hotplug
2 parents 6244419 + d5421ea commit 07b0137

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

kernel/time/hrtimer.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,9 @@ static void hrtimer_reprogram(struct hrtimer *timer,
655655
static inline void hrtimer_init_hres(struct hrtimer_cpu_base *base)
656656
{
657657
base->expires_next = KTIME_MAX;
658+
base->hang_detected = 0;
658659
base->hres_active = 0;
660+
base->next_timer = NULL;
659661
}
660662

661663
/*
@@ -1589,6 +1591,7 @@ int hrtimers_prepare_cpu(unsigned int cpu)
15891591
timerqueue_init_head(&cpu_base->clock_base[i].active);
15901592
}
15911593

1594+
cpu_base->active_bases = 0;
15921595
cpu_base->cpu = cpu;
15931596
hrtimer_init_hres(cpu_base);
15941597
return 0;

0 commit comments

Comments
 (0)