File tree Expand file tree Collapse file tree 2 files changed +5
-19
lines changed Expand file tree Collapse file tree 2 files changed +5
-19
lines changed Original file line number Diff line number Diff line change 61
61
#include <linux/static_key.h>
62
62
#include <linux/workqueue.h>
63
63
#include <linux/compiler.h>
64
+ #include <linux/tick.h>
64
65
65
66
/*
66
67
* Scheduler clock - returns current time in nanosec units.
@@ -89,6 +90,8 @@ static void __set_sched_clock_stable(void)
89
90
{
90
91
if (!sched_clock_stable ())
91
92
static_key_slow_inc (& __sched_clock_stable );
93
+
94
+ tick_dep_clear (TICK_DEP_BIT_CLOCK_UNSTABLE );
92
95
}
93
96
94
97
void set_sched_clock_stable (void )
@@ -108,6 +111,8 @@ static void __clear_sched_clock_stable(struct work_struct *work)
108
111
/* XXX worry about clock continuity */
109
112
if (sched_clock_stable ())
110
113
static_key_slow_dec (& __sched_clock_stable );
114
+
115
+ tick_dep_set (TICK_DEP_BIT_CLOCK_UNSTABLE );
111
116
}
112
117
113
118
static DECLARE_WORK (sched_clock_work , __clear_sched_clock_stable ) ;
Original file line number Diff line number Diff line change @@ -204,25 +204,6 @@ static bool can_stop_full_tick(struct tick_sched *ts)
204
204
return false;
205
205
}
206
206
207
- #ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
208
- /*
209
- * sched_clock_tick() needs us?
210
- *
211
- * TODO: kick full dynticks CPUs when
212
- * sched_clock_stable is set.
213
- */
214
- if (!sched_clock_stable ()) {
215
- trace_tick_stop (0 , TICK_DEP_MASK_CLOCK_UNSTABLE );
216
- /*
217
- * Don't allow the user to think they can get
218
- * full NO_HZ with this machine.
219
- */
220
- WARN_ONCE (tick_nohz_full_running ,
221
- "NO_HZ FULL will not work with unstable sched clock" );
222
- return false;
223
- }
224
- #endif
225
-
226
207
return true;
227
208
}
228
209
You can’t perform that action at this time.
0 commit comments