Re: Re: [PATCH 1/2] cgroup/cpuset: Make cpuset hotplug processing synchronous

From: Michal Koutný
Date: Wed Apr 03 2024 - 10:55:21 EST


On Wed, Apr 03, 2024 at 04:26:38PM +0200, Valentin Schneider <vschneid@xxxxxxxxxx> wrote:
> Also, I gave Michal's patch a try and it looks like it's introducing a

Thank you.

> cgroup_threadgroup_rwsem -> cpuset_mutex
> ordering from
> cgroup_transfer_tasks_locked()
> `\
> percpu_down_write(&cgroup_threadgroup_rwsem);
> cgroup_migrate()
> `\
> cgroup_migrate_execute()
> `\
> ss->can_attach() // cpuset_can_attach()
> `\
> mutex_lock(&cpuset_mutex);
>
> which is invalid, see below.

_This_ should be the right order (cpuset_mutex inside
cgroup_threadgroup_rwsem), at least in my mental model. Thus I missed
that cpuset_mutex must have been taken somewhere higher up in the
hotplug code (CPU 0 in the lockdep dump, I can't easily see where from)
:-/.

Michal

Attachment: signature.asc
Description: PGP signature