lkml.org 
[lkml]   [2022]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH v6 8/9] mm: multigenerational lru: user interface
    Date
    Yu Zhao <yuzhao@google.com> writes:

    > On Thu, Jan 13, 2022 at 04:01:31PM +0530, Aneesh Kumar K.V wrote:
    >> Yu Zhao <yuzhao@google.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.

    [ 71.204397][ T2819] bash/2819 is trying to acquire lock:
    [ 71.204446][ T2819] c0000000020e5cd0 (cpu_hotplug_lock){++++}-{0:0}, at: static_key_disable+0x24/0x50
    [ 71.204542][ T2819]
    [ 71.204542][ T2819] but task is already holding lock:
    [ 71.204613][ T2819] c0000000020e5cd0 (cpu_hotplug_lock){++++}-{0:0}, at: mem_hotplug_begin+0x20/0x50
    [ 71.204710][ T2819]
    [ 71.204710][ T2819] other info that might help us debug this:
    [ 71.204787][ T2819] Possible unsafe locking scenario:
    [ 71.204787][ T2819]
    [ 71.204860][ T2819] CPU0
    [ 71.204901][ T2819] ----
    [ 71.204941][ T2819] lock(cpu_hotplug_lock);
    [ 71.204998][ T2819] lock(cpu_hotplug_lock);
    [ 71.205053][ T2819]
    [ 71.205053][ T2819] *** DEADLOCK ***

    -aneesh

    \
     
     \ /
      Last update: 2022-01-14 06:23    [W:3.758 / U:0.352 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site