diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-09-04 11:43:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-09-04 11:43:45 -0400 |
commit | 1c3333600b0ebca94edffb3bb431c78687dc3d36 (patch) | |
tree | 798b72afb270e98bbe434443510415c49e671a97 | |
parent | 28e68154c5e2793123b248d38cf17b34dcb16d87 (diff) | |
parent | 08d072599234c959b0b82b63fa252c129225a899 (diff) |
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fixes from Thomas Gleixner:
"Two fixlet from the timers departement:
- A fix for scheduler stalls in the tick idle code affecting
NOHZ_FULL kernels
- A trivial compile fix"
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
tick/nohz: Fix softlockup on scheduler stalls in kvm guest
clocksource/drivers/atmel-pit: Fix compilation error
-rw-r--r-- | drivers/clocksource/timer-atmel-pit.c | 1 | ||||
-rw-r--r-- | kernel/time/tick-sched.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/clocksource/timer-atmel-pit.c b/drivers/clocksource/timer-atmel-pit.c index 3494bc5a21d5..7f0f5b26d8c5 100644 --- a/drivers/clocksource/timer-atmel-pit.c +++ b/drivers/clocksource/timer-atmel-pit.c | |||
@@ -240,6 +240,7 @@ static int __init at91sam926x_pit_common_init(struct pit_data *data) | |||
240 | static int __init at91sam926x_pit_dt_init(struct device_node *node) | 240 | static int __init at91sam926x_pit_dt_init(struct device_node *node) |
241 | { | 241 | { |
242 | struct pit_data *data; | 242 | struct pit_data *data; |
243 | int ret; | ||
243 | 244 | ||
244 | data = kzalloc(sizeof(*data), GFP_KERNEL); | 245 | data = kzalloc(sizeof(*data), GFP_KERNEL); |
245 | if (!data) | 246 | if (!data) |
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 204fdc86863d..2ec7c00228f3 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
@@ -908,10 +908,11 @@ static void __tick_nohz_idle_enter(struct tick_sched *ts) | |||
908 | ktime_t now, expires; | 908 | ktime_t now, expires; |
909 | int cpu = smp_processor_id(); | 909 | int cpu = smp_processor_id(); |
910 | 910 | ||
911 | now = tick_nohz_start_idle(ts); | ||
912 | |||
911 | if (can_stop_idle_tick(cpu, ts)) { | 913 | if (can_stop_idle_tick(cpu, ts)) { |
912 | int was_stopped = ts->tick_stopped; | 914 | int was_stopped = ts->tick_stopped; |
913 | 915 | ||
914 | now = tick_nohz_start_idle(ts); | ||
915 | ts->idle_calls++; | 916 | ts->idle_calls++; |
916 | 917 | ||
917 | expires = tick_nohz_stop_sched_tick(ts, now, cpu); | 918 | expires = tick_nohz_stop_sched_tick(ts, now, cpu); |