Messages in this thread | | | Date | Tue, 16 Aug 2022 20:13:25 -0400 | Subject | Re: [PATCH v5 3/3] cgroup/cpuset: Keep user set cpus affinity | From | Waiman Long <> |
| |
On 8/16/22 18:19, Tejun Heo wrote: > Hello, > > On Tue, Aug 16, 2022 at 06:11:03PM -0400, Waiman Long wrote: >> It is hard to synchronize different subsystems atomically without running >> into locking issue. Let me think about what can be done in this case. > I have a hard time seeing why this would be particularly difficult. cpuset > just needs to make the latest cpumask available to sched core in an easily > accessible form and whenever that changes, trigger a set_cpus_allowed call. > There's no need to entangle operations across the whole subsystems. All > that's needed to be communicated is the current cpumask. > >> Is using a sequence number to check for race with retry good enough? > It seems unnecessarily fragile and complicated to me. If we're gonna change > it, let's change it right.
Thanks for the suggestion. I think I get what you want. I am going to migrate the cpuset_set_cpus_allowed_ptr() logic into set_cpus_allowed_ptr() itself. IOW, if user_cpus_ptr is defined, it will be an additional mask to be applied on top. It does affect all callers of set_cpus_allowed_ptr() though. I am going to drop this cpuset specific patch.
BTW, I will be on PTO starting tomorrow until next Tuesday. So I will be slow in responding to emails.
Cheers, Longman
Cheers, Longman
| |