Commit 2641261
tick/nohz_full: Don't abuse smp_call_function_single() in tick_setup_device()
commit 07c54cc upstream.
After the recent commit 5097cbc ("sched/isolation: Prevent boot crash
when the boot CPU is nohz_full") the kernel no longer crashes, but there is
another problem.
In this case tick_setup_device() calls tick_take_do_timer_from_boot() to
update tick_do_timer_cpu and this triggers the WARN_ON_ONCE(irqs_disabled)
in smp_call_function_single().
Kill tick_take_do_timer_from_boot() and just use WRITE_ONCE(), the new
comment explains why this is safe (thanks Thomas!).
Fixes: 08ae95f ("nohz_full: Allow the boot CPU to be nohz_full")
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240528122019.GA28794@redhat.com
Link: https://lore.kernel.org/all/20240522151742.GA10400@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>1 parent 271dcd9 commit 2641261
1 file changed
+14
-28
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | 182 | | |
203 | 183 | | |
204 | 184 | | |
| |||
222 | 202 | | |
223 | 203 | | |
224 | 204 | | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
229 | 208 | | |
230 | 209 | | |
231 | 210 | | |
232 | 211 | | |
233 | | - | |
234 | | - | |
235 | | - | |
| 212 | + | |
236 | 213 | | |
237 | | - | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
238 | 224 | | |
239 | 225 | | |
240 | 226 | | |
| |||
0 commit comments