Re: [tip:sched/core] sched/core: Add debugging code to catch missing update_rq_clock() calls
From: Mike Galbraith
Date: Fri Feb 03 2017 - 08:53:23 EST
On Fri, 2017-02-03 at 14:37 +0100, Peter Zijlstra wrote:
> On Fri, Feb 03, 2017 at 01:59:34PM +0100, Mike Galbraith wrote:
> > FWIW, I'm not seeing stalls/hangs while beating hotplug up in tip. (so
> > next grew a wart?)
>
> I've seen it on tip. It looks like hot unplug goes really slow when
> there's running tasks on the CPU being taken down.
>
> What I did was something like:
>
> taskset -p $((1<<1)) $$
> for ((i=0; i<20; i++)) do while :; do :; done & done
>
> taskset -p $((1<<0)) $$
> echo 0 > /sys/devices/system/cpu/cpu1/online
>
> And with those 20 tasks stuck sucking cycles on CPU1, the unplug goes
> _really_ slow and the RCU stall triggers. What I suspect happens is that
> hotplug stops participating in the RCU state machine early, but only
> tells RCU about it really late, and in between it gets suspicious it
> takes too long.
Ah. I wasn't doing a really hard pounding, just running a couple
instances of Steven's script. To beat hell out of it, I add futextest,
stockfish and a small kbuild on a big box.
-Mike