[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87ft7pk8lb.fsf@nanos.tec.linutronix.de>
Date: Thu, 10 Sep 2020 16:30:24 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: peterz@...radead.org
Cc: linux-kernel@...r.kernel.org, anna-maria@...utronix.de,
vbabka@...e.cz, mgorman@...hsingularity.net, mhocko@...e.com,
linux-mm@...ck.org
Subject: Re: kcompactd hotplug fail
On Thu, Sep 10 2020 at 16:10, peterz wrote:
> While playing with hotplug, I ran into the below:
>
> [ 2305.676384] ------------[ cut here ]------------
> [ 2305.681543] WARNING: CPU: 1 PID: 15 at kernel/sched/core.c:1924 __set_cpus_allowed_ptr+0x1bd/0x230
> [ 2305.821454] kcompactd_cpu_online+0xa1/0xb0
>
> Given:
>
> static int __init kcompactd_init(void)
> {
> ...
> ret = cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN,
> "mm/compaction:online",
> kcompactd_cpu_online, NULL);
>
> and:
>
>
> CPUHP_AP_ONLINE_DYN,
> CPUHP_AP_ONLINE_DYN_END = CPUHP_AP_ONLINE_DYN + 30,
> CPUHP_AP_X86_HPET_ONLINE,
> CPUHP_AP_X86_KVM_CLK_ONLINE,
> CPUHP_AP_ACTIVE,
>
> this is somewhat expected behaviour.
>
> It tries and set the compaction affinity to include the newly onlined
> CPU before it is marked active and that's a no-no.
>
> Ideally the kcompactd notifier is ran after AP_ACTIVE, not before.
Indeed. So we need steps post ACTIVE which we did not want to have in
the first place :)
Thanks,
tglx
Powered by blists - more mailing lists