Re: [PATCH 9/9] mm, page_alloc: optionally disable pcplists during page isolation

From: Michal Hocko
Date: Mon Oct 05 2020 - 12:56:55 EST


On Mon 05-10-20 16:22:46, Vlastimil Babka wrote:
> On 10/5/20 4:05 PM, Michal Hocko wrote:
> > On Fri 25-09-20 13:10:05, Vlastimil Babka wrote:
> >> On 9/25/20 12:54 PM, David Hildenbrand wrote:
> >>
> >> Hmm that temporary write lock would still block new callers until previous
> >> finish with the downgraded-to-read lock.
> >>
> >> But I guess something like this would work:
> >>
> >> retry:
> >> if (atomic_read(...) == 0) {
> >> // zone_update... + drain
> >> atomic_inc(...);
> >> else if (atomic_inc_return == 1)
> >> // atomic_cmpxchg from 0 to 1; if that fails, goto retry
> >>
> >> Tricky, but races could only read to unnecessary duplicated updates + flushing
> >> but nothing worse?
> >>
> >> Or add another spinlock to cover this part instead of the temp write lock...
> >
> > Do you plan to post a new version or should I review this one?
>
> I will, hopefully this week, but you could comment on other details and
> overall approach meanwhile? I don't think it will change significantly.

OK. I will have a look tomorrow.

--
Michal Hocko
SUSE Labs