linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@kernel.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: mingo@kernel.org, tglx@linutronix.de,
	linux-kernel@vger.kernel.org, jiangshanlai@gmail.com,
	valentin.schneider@arm.com, cai@redhat.com,
	vincent.donnefort@arm.com, decui@microsoft.com,
	vincent.guittot@linaro.org, rostedt@goodmis.org, tj@kernel.org
Subject: Re: [PATCH 0/8] sched: Fix hot-unplug regressions
Date: Sat, 16 Jan 2021 07:45:42 -0800	[thread overview]
Message-ID: <20210116154542.GQ2743@paulmck-ThinkPad-P72> (raw)
In-Reply-To: <YAMFhsXamvCT2tzM@hirez.programming.kicks-ass.net>

On Sat, Jan 16, 2021 at 04:25:58PM +0100, Peter Zijlstra wrote:
> On Sat, Jan 16, 2021 at 12:30:33PM +0100, Peter Zijlstra wrote:
> > Hi,
> > 
> > These patches (no longer 4), seems to fix all the hotplug regressions as per
> > nearly a 100 18*SRCU-P runs over-night.
> > 
> > I did clean up the patches, so possibly I wrecked it again. I've started new
> > runs and will again leave them running over-night.
> 
> Hurph... I've got one splat from this version, one I've not seen before:
> 
> [   68.712848] Dying CPU not properly vacated!
> ...
> [   68.744448] CPU1 enqueued tasks (2 total):
> [   68.745018]  pid: 14, name: rcu_preempt
> [   68.745557]  pid: 18, name: migration/1
> 
> Paul, rcu_preempt, is from rcu_spawn_gp_kthread(), right? Afaict that
> doesn't even have affinity.. /me wonders HTH that ended up on the
> runqueue so late.

Yes, rcu_preempt is from rcu_spawn_gp_kthread(), and you are right that
the kernel code does not bind it anywhere.  If this is rcutorture,
there isn't enough of a userspace to do the binding there, eihter.
Wakeups for the rcu_preempt task can happen in odd places, though.

Grasping at straws...  Would Frederic's series help?  This is in
-rcu here:

cfd941c rcu/nocb: Detect unsafe checks for offloaded rdp
028d407 rcu: Remove superfluous rdp fetch
38e216a rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers
53775fd rcu/nocb: Perform deferred wake up before last idle's need_resched() check
1fbabce rcu/nocb: Trigger self-IPI on late deferred wake up before user resume
2856844 entry: Explicitly flush pending rcuog wakeup before last rescheduling points
4d959df sched: Report local wake up on resched blind zone within idle loop
2617331 entry: Report local wake up on resched blind zone while resuming to user
79acd12 timer: Report ignored local enqueue in nohz mode

I have been including these in all of my tests of your patches.

							Thanx, Paul

  reply	other threads:[~2021-01-16 17:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-16 11:30 [PATCH 0/8] sched: Fix hot-unplug regressions Peter Zijlstra
2021-01-16 11:30 ` [PATCH 1/8] sched/core: Print out straggler tasks in sched_cpu_dying() Peter Zijlstra
2021-01-16 11:30 ` [PATCH 2/8] workqueue: Use cpu_possible_mask instead of cpu_active_mask to break affinity Peter Zijlstra
2021-01-16 11:30 ` [PATCH 3/8] sched: Dont run cpu-online with balance_push() enabled Peter Zijlstra
2021-01-16 15:27   ` Peter Zijlstra
2021-01-16 11:30 ` [PATCH 4/8] kthread: Extract KTHREAD_IS_PER_CPU Peter Zijlstra
2021-01-16 11:30 ` [PATCH 5/8] workqueue: Tag bound workers with KTHREAD_IS_PER_CPU Peter Zijlstra
2021-01-16 11:30 ` [PATCH 6/8] workqueue: Restrict affinity change to rescuer Peter Zijlstra
2021-01-16 11:30 ` [PATCH 7/8] sched: Fix CPU hotplug / tighten is_per_cpu_kthread() Peter Zijlstra
2021-01-17 16:57   ` Valentin Schneider
2021-01-18  9:30     ` Peter Zijlstra
2021-01-16 11:30 ` [PATCH 8/8] sched: Relax the set_cpus_allowed_ptr() semantics Peter Zijlstra
2021-01-16 14:39   ` Lai Jiangshan
2021-01-16 15:19     ` Peter Zijlstra
2021-01-16 15:25 ` [PATCH 0/8] sched: Fix hot-unplug regressions Peter Zijlstra
2021-01-16 15:45   ` Paul E. McKenney [this message]
2021-01-16 18:51     ` Peter Zijlstra
2021-01-16 15:48 ` Paul E. McKenney
2021-01-18  5:28   ` Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210116154542.GQ2743@paulmck-ThinkPad-P72 \
    --to=paulmck@kernel.org \
    --cc=cai@redhat.com \
    --cc=decui@microsoft.com \
    --cc=jiangshanlai@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=valentin.schneider@arm.com \
    --cc=vincent.donnefort@arm.com \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).