[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <dd5785b6-3f96-3af9-586b-1d962228bed8@suse.cz>
Date: Tue, 17 Aug 2021 09:57:10 +0200
From: Vlastimil Babka <vbabka@...e.cz>
To: David Hildenbrand <david@...hat.com>, qiang.zhang@...driver.com,
akpm@...ux-foundation.org, sfr@...b.auug.org.au
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm, slub: add cpus_read_lock/unlock() for
slab_mem_going_offline_callback()
On 8/16/21 10:04 AM, David Hildenbrand wrote:
> On 16.08.21 09:46, qiang.zhang@...driver.com wrote:
>> From: "Qiang.Zhang" <qiang.zhang@...driver.com>
>>
>> The flush_all_cpus_locked() should be called with cpus_read_lock/unlock(),
>> ensure flush_cpu_slab() can be executed on schedule_on CPU.
>>
>> Fixes: 1c84f3c91640 ("mm, slub: fix memory and cpu hotplug related lock ordering issues")
> Memory notifiers are getting called from online_pages()/offline_pages(),
> where we call memory_notify(MEM_GOING_OFFLINE, &arg) under
> mem_hotplug_begin().
>
> mem_hotplug_begin() does a cpus_read_lock().
Exactly. Also flush_all_cpus_locked() has a lockdep assert for
cpus_read_lock() which doesn't trigger in testing.
> How does this even work or against which branch is this?
>
Powered by blists - more mailing lists