arndb.de>, ulli.kr...@googlemail.com, vgu...@kernel.org, linux-...@vger.kernel.org, j...@joshtriplett.org, rost...@goodmis.org, r...@vger.kernel.org, b...@alien8.de, bc...@quicinc.com, tsbog...@alpha.franken.de, linux-par...@vger.kernel.org, sudeep.ho...@arm.com, shawn...@kernel.org, da...@davemloft.net, dal...@libc.org, t...@atomide.com, amakha...@vmware.com, bjorn.anders...@linaro.org, h...@zytor.com, sparcli...@vger.kernel.org, linux-hexa...@vger.kernel.org, linux-ri...@lists.infradead.org, anton.iva...@cambridgegreys.com, jo...@southpole.se, yury.no...@gmail.com, rich...@nod.at, x...@kernel.org, li...@armlinux.org.uk, mi...@redhat.com, a...@eecs.berkeley.edu, paul...@kernel.org, h...@linux.ibm.com, stefan.kristians...@saunalahti.fi, openr...@lists.librecores.org, paul.walms...@sifive.com, linux-te...@vger.kernel.org, namhy...@kernel.org, andriy.shevche...@linux.intel.com, jpoim...@kernel.org, jgr...@suse.com, mon...@monstr.eu, linux-m...@vger.kernel.org, pal...@dabbelt.com, anup@brainfa ult.org, i...@jurassic.park.msu.ru, johan...@sipsolutions.net, linuxppc-dev@lists.ozlabs.org Errors-To: linuxppc-dev-bounces+archive=mail-archive....@lists.ozlabs.org Sender: "Linuxppc-dev" <linuxppc-dev-bounces+archive=mail-archive....@lists.ozlabs.org>
On Wed, Jun 08, 2022 at 04:27:48PM +0200, Peter Zijlstra wrote: > No callers left that have already disabled RCU. > > Signed-off-by: Peter Zijlstra (Intel) <pet...@infradead.org> Acked-by: Mark Rutland <mark.rutl...@arm.com> Mark. > --- > kernel/time/tick-broadcast-hrtimer.c | 29 ++++++++++++----------------- > 1 file changed, 12 insertions(+), 17 deletions(-) > > --- a/kernel/time/tick-broadcast-hrtimer.c > +++ b/kernel/time/tick-broadcast-hrtimer.c > @@ -56,25 +56,20 @@ static int bc_set_next(ktime_t expires, > * hrtimer callback function is currently running, then > * hrtimer_start() cannot move it and the timer stays on the CPU on > * which it is assigned at the moment. > + */ > + hrtimer_start(&bctimer, expires, HRTIMER_MODE_ABS_PINNED_HARD); > + /* > + * The core tick broadcast mode expects bc->bound_on to be set > + * correctly to prevent a CPU which has the broadcast hrtimer > + * armed from going deep idle. > * > - * As this can be called from idle code, the hrtimer_start() > - * invocation has to be wrapped with RCU_NONIDLE() as > - * hrtimer_start() can call into tracing. > + * As tick_broadcast_lock is held, nothing can change the cpu > + * base which was just established in hrtimer_start() above. So > + * the below access is safe even without holding the hrtimer > + * base lock. > */ > - RCU_NONIDLE( { > - hrtimer_start(&bctimer, expires, HRTIMER_MODE_ABS_PINNED_HARD); > - /* > - * The core tick broadcast mode expects bc->bound_on to be set > - * correctly to prevent a CPU which has the broadcast hrtimer > - * armed from going deep idle. > - * > - * As tick_broadcast_lock is held, nothing can change the cpu > - * base which was just established in hrtimer_start() above. So > - * the below access is safe even without holding the hrtimer > - * base lock. > - */ > - bc->bound_on = bctimer.base->cpu_base->cpu; > - } ); > + bc->bound_on = bctimer.base->cpu_base->cpu; > + > return 0; > } > > >