[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YeEdJxLdUaxEGBBP@google.com>
Date: Thu, 13 Jan 2022 23:50:15 -0700
From: Yu Zhao <yuzhao@...gle.com>
To: "Aneesh Kumar K.V" <aneesh.kumar@...ux.ibm.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andi Kleen <ak@...ux.intel.com>,
Catalin Marinas <catalin.marinas@....com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Hillf Danton <hdanton@...a.com>, Jens Axboe <axboe@...nel.dk>,
Jesse Barnes <jsbarnes@...gle.com>,
Johannes Weiner <hannes@...xchg.org>,
Jonathan Corbet <corbet@....net>,
Matthew Wilcox <willy@...radead.org>,
Mel Gorman <mgorman@...e.de>,
Michael Larabel <Michael@...haellarabel.com>,
Michal Hocko <mhocko@...nel.org>,
Rik van Riel <riel@...riel.com>,
Vlastimil Babka <vbabka@...e.cz>,
Will Deacon <will@...nel.org>,
Ying Huang <ying.huang@...el.com>,
linux-arm-kernel@...ts.infradead.org, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
page-reclaim@...gle.com, x86@...nel.org,
Konstantin Kharlamov <Hi-Angel@...dex.ru>
Subject: Re: [PATCH v6 8/9] mm: multigenerational lru: user interface
On Fri, Jan 14, 2022 at 10:50:05AM +0530, Aneesh Kumar K.V wrote:
> Yu Zhao <yuzhao@...gle.com> writes:
> > On Thu, Jan 13, 2022 at 04:01:31PM +0530, Aneesh Kumar K.V wrote:
> >> Yu Zhao <yuzhao@...gle.com> writes:
> >>
> >> > Add /sys/kernel/mm/lru_gen/enabled as a runtime kill switch.
> >>
> >> Got the below lockdep warning while using the above kill/enable switch
> >>
> >>
> >> [ 84.252952] ======================================================
> >> [ 84.253012] WARNING: possible circular locking dependency detected
> >> [ 84.253074] 5.16.0-rc8-16204-g1cdcf1120b31 #511 Not tainted
> >> [ 84.253135] ------------------------------------------------------
> >> [ 84.253194] bash/2862 is trying to acquire lock:
> >> [ 84.253243] c0000000021ff740 (cgroup_mutex){+.+.}-{3:3}, at: store_enable+0x80/0x1510
> >> [ 84.253340]
> >> but task is already holding lock:
> >> [ 84.253410] c000000002221348 (mem_hotplug_lock){++++}-{0:0}, at: mem_hotplug_begin+0x30/0x50
> >> [ 84.253503]
> >> which lock already depends on the new lock.
> >>
> >> [ 84.255933] Chain exists of:
> >> cgroup_mutex --> cpu_hotplug_lock --> mem_hotplug_lock
> >
> > Thanks. Will reverse the order between mem_hotplug_lock and
> > cgroup_mutex in the next spin.
>
> It also needs the unlocked variant of static_key_enable/disable.
Right. This is what I have at the moment. Tested with QEMU memory
hotplug. Can you please give it try too? Thanks.
cgroup_lock()
cpus_read_lock()
get_online_mems()
if (enable)
static_branch_enable_cpuslocked()
else
static_branch_disable_cpuslocked()
put_online_mems()
cpus_read_unlock()
cgroup_unlock()
Powered by blists - more mailing lists