Messages in this thread | | | Date | Mon, 5 Aug 2019 07:47:55 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH RFC tip/core/rcu 14/14] rcu/nohz: Make multi_cpu_stop() enable tick on all online CPUs |
| |
On Mon, Aug 05, 2019 at 10:07:36AM +0200, Peter Zijlstra wrote: > On Sun, Aug 04, 2019 at 09:19:01PM -0700, Paul E. McKenney wrote: > > On Sun, Aug 04, 2019 at 01:24:46PM -0700, Paul E. McKenney wrote: > > > > For whatever it is worth, the things on my list include using 25 rounds > > > of resched_cpu() on each CPU with ten-jiffy wait between each (instead of > > > merely 10 rounds), using waitqueues or some such to actually force a > > > meaningful context switch on the other CPUs, etc. > > That really should not be needed. What are those other CPUs doing?
Excellent question. It would be really nice to have a CPU-stopper stall warning, wouldn't it? But who knows? Maybe I am the only one to have run into this. However, the comment in multi_cpu_stop() just before the call to touch_nmi_watchdog() leads me to believe otherwise. ;-)
> > Which appears to have reduced the bug rate by about a factor of two. > > (But statistics and all that.) > > Which is just weird..
Indeed. Your point being?
> > I am now trying the same test, but with CONFIG_PREEMPT=y and without > > quite so much hammering on the scheduler. This is keying off Peter's > > earlier mention of preemption. If this turns out to be solid, perhaps > > we outlaw CONFIG_PREEMPT=n && CONFIG_NO_HZ_FULL=y? > > CONFIG_PREEMPT=n should work just fine, _something_ is off.
Thank you, that is what I needed to know.
Thanx, Paul
| |