Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1628394
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 6/9] sched/clock: Remove watchdog touching |
| Date | 2017-04-21 19:50 +0200 |
| Message-ID | <tyKQV-gp-5@gated-at.bofh.it> (permalink) |
| References | <tyKee-8vc-21@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Commit:
2bacec8c318c ("sched: touch softlockup watchdog after idling")
introduced the touch_softlockup_watchdog_sched() call without
justification and I feel sched_clock management is not the right
place, it should only be concerned with producing semi coherent time.
If this causes watchdog thingies, we can find a better place.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
kernel/sched/clock.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
--- a/kernel/sched/clock.c
+++ b/kernel/sched/clock.c
@@ -410,15 +410,21 @@ void sched_clock_idle_sleep_event(void)
EXPORT_SYMBOL_GPL(sched_clock_idle_sleep_event);
/*
- * We just idled; resync with ktime. (called with irqs disabled):
+ * We just idled; resync with ktime.
*/
void sched_clock_idle_wakeup_event(void)
{
- if (timekeeping_suspended)
+ unsigned long flags;
+
+ if (sched_clock_stable())
+ return;
+
+ if (unlikely(timekeeping_suspended))
return;
+ local_irq_save(flags);
sched_clock_tick();
- touch_softlockup_watchdog_sched();
+ local_irq_restore(flags);
}
EXPORT_SYMBOL_GPL(sched_clock_idle_wakeup_event);
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH 6/9] sched/clock: Remove watchdog touching Peter Zijlstra <peterz@infradead.org> - 2017-04-21 19:50 +0200 Re: [PATCH 6/9] sched/clock: Remove watchdog touching Peter Zijlstra <peterz@infradead.org> - 2017-04-21 19:50 +0200
csiph-web