[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220519212939.GE1790663@paulmck-ThinkPad-P17-Gen-1>
Date: Thu, 19 May 2022 14:29:39 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: Qian Cai <quic_qiancai@...cinc.com>
Cc: Mel Gorman <mgorman@...hsingularity.net>,
Andrew Morton <akpm@...ux-foundation.org>,
Nicolas Saenz Julienne <nsaenzju@...hat.com>,
Marcelo Tosatti <mtosatti@...hat.com>,
Vlastimil Babka <vbabka@...e.cz>,
Michal Hocko <mhocko@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Linux-MM <linux-mm@...ck.org>, kafai@...com, kpsingh@...nel.org
Subject: Re: [PATCH 0/6] Drain remote per-cpu directly v3
On Thu, May 19, 2022 at 05:05:04PM -0400, Qian Cai wrote:
> On Thu, May 19, 2022 at 12:15:24PM -0700, Paul E. McKenney wrote:
> > Is the task doing offline_pages()->synchronize_rcu() doing this
> > repeatedly? Or is there a stalled RCU grace period? (From what
> > I can see, offline_pages() is not doing huge numbers of calls to
> > synchronize_rcu() in any of its loops, but I freely admit that I do not
> > know this code.)
>
> Yes, we are running into an endless loop in isolate_single_pageblock().
> There was a similar issue happened not long ago, so I am wondering if we
> did not solve it entirely then. Anyway, I will continue the thread over
> there.
>
> https://lore.kernel.org/all/YoavU%2F+NfQIzQiDF@qian/
I do know that feeling.
> > Or is it possible that reverting those three patches simply decreases
> > the probability of failure, rather than eliminating the failure?
> > Such a decrease could be due to many things, for example, changes to
> > offsets and sizes of data structures.
>
> Entirely possible. Sorry for the false alarm.
Not a problem!
> > Do you ever see RCU CPU stall warnings?
>
> No.
OK, then perhaps a sequence of offline_pages() calls.
Hmmm... The percpu_up_write() function sets ->block to zero before
awakening waiters. Given wakeup latencies, might this allow an only
somewhat unfortunate sequence of events to allow offline_pages() to
starve readers? Or is there something I am missing that prevents this
from happening?
Thanx, Paul
Powered by blists - more mailing lists