* [PATCH -next v2 0/3] cpuset: code cleanups
@ 2025-11-11 13:24 Chen Ridong
2025-11-11 13:24 ` [PATCH -next v2 1/3] cpuset: simplify node setting on error Chen Ridong
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Chen Ridong @ 2025-11-11 13:24 UTC (permalink / raw)
To: longman, tj, hannes, mkoutny; +Cc: cgroups, linux-kernel, lujialin4, chenridong
From: Chen Ridong <chenridong@huawei.com>
Patch 1 simplifies the error handling path in cpuset_set_nodes() by
returning directly on failure, eliminating an unnecessary jump.
Patch 2 removes the global remote_children list and replaces it with
a boolean remote_partition flag, which provides a more direct way
to identify remote partitions.
Patch 3 removes need_rebuild_sched_domains.
---
v2: Patch 2 moves up 'remote_partition' and removes redundant
initialization.
Chen Ridong (3):
cpuset: simplify node setting on error
cpuset: remove global remote_children list
cpuset: remove need_rebuild_sched_domains
kernel/cgroup/cpuset-internal.h | 10 ++++++---
kernel/cgroup/cpuset.c | 40 ++++++++++++---------------------
2 files changed, 21 insertions(+), 29 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH -next v2 1/3] cpuset: simplify node setting on error 2025-11-11 13:24 [PATCH -next v2 0/3] cpuset: code cleanups Chen Ridong @ 2025-11-11 13:24 ` Chen Ridong 2025-11-11 13:24 ` [PATCH -next v2 2/3] cpuset: remove global remote_children list Chen Ridong ` (2 subsequent siblings) 3 siblings, 0 replies; 7+ messages in thread From: Chen Ridong @ 2025-11-11 13:24 UTC (permalink / raw) To: longman, tj, hannes, mkoutny; +Cc: cgroups, linux-kernel, lujialin4, chenridong From: Chen Ridong <chenridong@huawei.com> There is no need to jump to the 'done' label upon failure, as no cleanup is required. Return the error code directly instead. Signed-off-by: Chen Ridong <chenridong@huawei.com> Reviewed-by: Waiman Long <longman@redhat.com> Reviewed-by: Michal Koutný <mkoutny@suse.com> --- kernel/cgroup/cpuset.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index 8238fd8c0c29..c90476d52f09 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -2897,21 +2897,19 @@ static int update_nodemask(struct cpuset *cs, struct cpuset *trialcs, */ retval = nodelist_parse(buf, trialcs->mems_allowed); if (retval < 0) - goto done; + return retval; if (!nodes_subset(trialcs->mems_allowed, - top_cpuset.mems_allowed)) { - retval = -EINVAL; - goto done; - } + top_cpuset.mems_allowed)) + return -EINVAL; + + /* No change? nothing to do */ + if (nodes_equal(cs->mems_allowed, trialcs->mems_allowed)) + return 0; - if (nodes_equal(cs->mems_allowed, trialcs->mems_allowed)) { - retval = 0; /* Too easy - nothing to do */ - goto done; - } retval = validate_change(cs, trialcs); if (retval < 0) - goto done; + return retval; check_insane_mems_config(&trialcs->mems_allowed); @@ -2921,8 +2919,7 @@ static int update_nodemask(struct cpuset *cs, struct cpuset *trialcs, /* use trialcs->mems_allowed as a temp variable */ update_nodemasks_hier(cs, &trialcs->mems_allowed); -done: - return retval; + return 0; } bool current_cpuset_is_being_rebound(void) -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH -next v2 2/3] cpuset: remove global remote_children list 2025-11-11 13:24 [PATCH -next v2 0/3] cpuset: code cleanups Chen Ridong 2025-11-11 13:24 ` [PATCH -next v2 1/3] cpuset: simplify node setting on error Chen Ridong @ 2025-11-11 13:24 ` Chen Ridong 2025-11-11 14:56 ` Waiman Long 2025-11-11 13:24 ` [PATCH -next v2 3/3] cpuset: remove need_rebuild_sched_domains Chen Ridong 2025-11-11 21:56 ` [PATCH -next v2 0/3] cpuset: code cleanups Tejun Heo 3 siblings, 1 reply; 7+ messages in thread From: Chen Ridong @ 2025-11-11 13:24 UTC (permalink / raw) To: longman, tj, hannes, mkoutny; +Cc: cgroups, linux-kernel, lujialin4, chenridong From: Chen Ridong <chenridong@huawei.com> The remote_children list is used to track all remote partitions attached to a cpuset. However, it serves no other purpose. Using a boolean flag to indicate whether a cpuset is a remote partition is a more direct approach, making remote_children unnecessary. This patch replaces the list with a remote_partition flag in the cpuset structure and removes remote_children entirely. Signed-off-by: Chen Ridong <chenridong@huawei.com> --- kernel/cgroup/cpuset-internal.h | 10 +++++++--- kernel/cgroup/cpuset.c | 13 ++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/kernel/cgroup/cpuset-internal.h b/kernel/cgroup/cpuset-internal.h index 5cac42c5fd97..01976c8e7d49 100644 --- a/kernel/cgroup/cpuset-internal.h +++ b/kernel/cgroup/cpuset-internal.h @@ -158,6 +158,13 @@ struct cpuset { /* partition root state */ int partition_root_state; + /* + * Whether cpuset is a remote partition. + * It used to be a list anchoring all remote partitions — we can switch back + * to a list if we need to iterate over the remote partitions. + */ + bool remote_partition; + /* * number of SCHED_DEADLINE tasks attached to this cpuset, so that we * know when to rebuild associated root domain bandwidth information. @@ -172,9 +179,6 @@ struct cpuset { /* Handle for cpuset.cpus.partition */ struct cgroup_file partition_file; - /* Remote partition silbling list anchored at remote_children */ - struct list_head remote_sibling; - /* Used to merge intersecting subsets for generate_sched_domains */ struct uf_node node; }; diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index c90476d52f09..aff3ddc67393 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -94,9 +94,6 @@ static bool isolated_cpus_updating; static cpumask_var_t boot_hk_cpus; static bool have_boot_isolcpus; -/* List of remote partition root children */ -static struct list_head remote_children; - /* * A flag to force sched domain rebuild at the end of an operation. * It can be set in @@ -219,7 +216,7 @@ static struct cpuset top_cpuset = { BIT(CS_MEM_EXCLUSIVE) | BIT(CS_SCHED_LOAD_BALANCE), .partition_root_state = PRS_ROOT, .relax_domain_level = -1, - .remote_sibling = LIST_HEAD_INIT(top_cpuset.remote_sibling), + .remote_partition = false, }; /* @@ -1572,7 +1569,7 @@ static int compute_trialcs_excpus(struct cpuset *trialcs, struct cpuset *cs) static inline bool is_remote_partition(struct cpuset *cs) { - return !list_empty(&cs->remote_sibling); + return cs->remote_partition; } static inline bool is_local_partition(struct cpuset *cs) @@ -1621,7 +1618,7 @@ static int remote_partition_enable(struct cpuset *cs, int new_prs, spin_lock_irq(&callback_lock); partition_xcpus_add(new_prs, NULL, tmp->new_cpus); - list_add(&cs->remote_sibling, &remote_children); + cs->remote_partition = true; cpumask_copy(cs->effective_xcpus, tmp->new_cpus); spin_unlock_irq(&callback_lock); update_isolation_cpumasks(); @@ -1651,7 +1648,7 @@ static void remote_partition_disable(struct cpuset *cs, struct tmpmasks *tmp) WARN_ON_ONCE(!cpumask_subset(cs->effective_xcpus, subpartitions_cpus)); spin_lock_irq(&callback_lock); - list_del_init(&cs->remote_sibling); + cs->remote_partition = false; partition_xcpus_del(cs->partition_root_state, NULL, cs->effective_xcpus); if (cs->prs_err) cs->partition_root_state = -cs->partition_root_state; @@ -3603,7 +3600,6 @@ cpuset_css_alloc(struct cgroup_subsys_state *parent_css) __set_bit(CS_SCHED_LOAD_BALANCE, &cs->flags); fmeter_init(&cs->fmeter); cs->relax_domain_level = -1; - INIT_LIST_HEAD(&cs->remote_sibling); /* Set CS_MEMORY_MIGRATE for default hierarchy */ if (cpuset_v2()) @@ -3874,7 +3870,6 @@ int __init cpuset_init(void) nodes_setall(top_cpuset.effective_mems); fmeter_init(&top_cpuset.fmeter); - INIT_LIST_HEAD(&remote_children); BUG_ON(!alloc_cpumask_var(&cpus_attach, GFP_KERNEL)); -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH -next v2 2/3] cpuset: remove global remote_children list 2025-11-11 13:24 ` [PATCH -next v2 2/3] cpuset: remove global remote_children list Chen Ridong @ 2025-11-11 14:56 ` Waiman Long 2025-11-12 0:44 ` Chen Ridong 0 siblings, 1 reply; 7+ messages in thread From: Waiman Long @ 2025-11-11 14:56 UTC (permalink / raw) To: Chen Ridong, tj, hannes, mkoutny Cc: cgroups, linux-kernel, lujialin4, chenridong On 11/11/25 8:24 AM, Chen Ridong wrote: > From: Chen Ridong <chenridong@huawei.com> > > The remote_children list is used to track all remote partitions attached > to a cpuset. However, it serves no other purpose. Using a boolean flag to > indicate whether a cpuset is a remote partition is a more direct approach, > making remote_children unnecessary. > > This patch replaces the list with a remote_partition flag in the cpuset > structure and removes remote_children entirely. > > Signed-off-by: Chen Ridong <chenridong@huawei.com> > --- > kernel/cgroup/cpuset-internal.h | 10 +++++++--- > kernel/cgroup/cpuset.c | 13 ++++--------- > 2 files changed, 11 insertions(+), 12 deletions(-) > > diff --git a/kernel/cgroup/cpuset-internal.h b/kernel/cgroup/cpuset-internal.h > index 5cac42c5fd97..01976c8e7d49 100644 > --- a/kernel/cgroup/cpuset-internal.h > +++ b/kernel/cgroup/cpuset-internal.h > @@ -158,6 +158,13 @@ struct cpuset { > /* partition root state */ > int partition_root_state; > > + /* > + * Whether cpuset is a remote partition. > + * It used to be a list anchoring all remote partitions — we can switch back > + * to a list if we need to iterate over the remote partitions. > + */ > + bool remote_partition; > + > /* > * number of SCHED_DEADLINE tasks attached to this cpuset, so that we > * know when to rebuild associated root domain bandwidth information. > @@ -172,9 +179,6 @@ struct cpuset { > /* Handle for cpuset.cpus.partition */ > struct cgroup_file partition_file; > > - /* Remote partition silbling list anchored at remote_children */ > - struct list_head remote_sibling; > - > /* Used to merge intersecting subsets for generate_sched_domains */ > struct uf_node node; > }; > diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c > index c90476d52f09..aff3ddc67393 100644 > --- a/kernel/cgroup/cpuset.c > +++ b/kernel/cgroup/cpuset.c > @@ -94,9 +94,6 @@ static bool isolated_cpus_updating; > static cpumask_var_t boot_hk_cpus; > static bool have_boot_isolcpus; > > -/* List of remote partition root children */ > -static struct list_head remote_children; > - > /* > * A flag to force sched domain rebuild at the end of an operation. > * It can be set in > @@ -219,7 +216,7 @@ static struct cpuset top_cpuset = { > BIT(CS_MEM_EXCLUSIVE) | BIT(CS_SCHED_LOAD_BALANCE), > .partition_root_state = PRS_ROOT, > .relax_domain_level = -1, > - .remote_sibling = LIST_HEAD_INIT(top_cpuset.remote_sibling), > + .remote_partition = false, I forgot to notify you that this init is also not needed. Anyway, this is a minor issue. > }; > > /* > @@ -1572,7 +1569,7 @@ static int compute_trialcs_excpus(struct cpuset *trialcs, struct cpuset *cs) > > static inline bool is_remote_partition(struct cpuset *cs) > { > - return !list_empty(&cs->remote_sibling); > + return cs->remote_partition; > } > > static inline bool is_local_partition(struct cpuset *cs) > @@ -1621,7 +1618,7 @@ static int remote_partition_enable(struct cpuset *cs, int new_prs, > > spin_lock_irq(&callback_lock); > partition_xcpus_add(new_prs, NULL, tmp->new_cpus); > - list_add(&cs->remote_sibling, &remote_children); > + cs->remote_partition = true; > cpumask_copy(cs->effective_xcpus, tmp->new_cpus); > spin_unlock_irq(&callback_lock); > update_isolation_cpumasks(); > @@ -1651,7 +1648,7 @@ static void remote_partition_disable(struct cpuset *cs, struct tmpmasks *tmp) > WARN_ON_ONCE(!cpumask_subset(cs->effective_xcpus, subpartitions_cpus)); > > spin_lock_irq(&callback_lock); > - list_del_init(&cs->remote_sibling); > + cs->remote_partition = false; > partition_xcpus_del(cs->partition_root_state, NULL, cs->effective_xcpus); > if (cs->prs_err) > cs->partition_root_state = -cs->partition_root_state; > @@ -3603,7 +3600,6 @@ cpuset_css_alloc(struct cgroup_subsys_state *parent_css) > __set_bit(CS_SCHED_LOAD_BALANCE, &cs->flags); > fmeter_init(&cs->fmeter); > cs->relax_domain_level = -1; > - INIT_LIST_HEAD(&cs->remote_sibling); > > /* Set CS_MEMORY_MIGRATE for default hierarchy */ > if (cpuset_v2()) > @@ -3874,7 +3870,6 @@ int __init cpuset_init(void) > nodes_setall(top_cpuset.effective_mems); > > fmeter_init(&top_cpuset.fmeter); > - INIT_LIST_HEAD(&remote_children); > > BUG_ON(!alloc_cpumask_var(&cpus_attach, GFP_KERNEL)); > Reviewed-by: Waiman Long <longman@redhat.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH -next v2 2/3] cpuset: remove global remote_children list 2025-11-11 14:56 ` Waiman Long @ 2025-11-12 0:44 ` Chen Ridong 0 siblings, 0 replies; 7+ messages in thread From: Chen Ridong @ 2025-11-12 0:44 UTC (permalink / raw) To: Waiman Long, tj, hannes, mkoutny Cc: cgroups, linux-kernel, lujialin4, chenridong On 2025/11/11 22:56, Waiman Long wrote: > On 11/11/25 8:24 AM, Chen Ridong wrote: >> From: Chen Ridong <chenridong@huawei.com> >> >> The remote_children list is used to track all remote partitions attached >> to a cpuset. However, it serves no other purpose. Using a boolean flag to >> indicate whether a cpuset is a remote partition is a more direct approach, >> making remote_children unnecessary. >> >> This patch replaces the list with a remote_partition flag in the cpuset >> structure and removes remote_children entirely. >> >> Signed-off-by: Chen Ridong <chenridong@huawei.com> >> --- >> kernel/cgroup/cpuset-internal.h | 10 +++++++--- >> kernel/cgroup/cpuset.c | 13 ++++--------- >> 2 files changed, 11 insertions(+), 12 deletions(-) >> >> diff --git a/kernel/cgroup/cpuset-internal.h b/kernel/cgroup/cpuset-internal.h >> index 5cac42c5fd97..01976c8e7d49 100644 >> --- a/kernel/cgroup/cpuset-internal.h >> +++ b/kernel/cgroup/cpuset-internal.h >> @@ -158,6 +158,13 @@ struct cpuset { >> /* partition root state */ >> int partition_root_state; >> + /* >> + * Whether cpuset is a remote partition. >> + * It used to be a list anchoring all remote partitions — we can switch back >> + * to a list if we need to iterate over the remote partitions. >> + */ >> + bool remote_partition; >> + >> /* >> * number of SCHED_DEADLINE tasks attached to this cpuset, so that we >> * know when to rebuild associated root domain bandwidth information. >> @@ -172,9 +179,6 @@ struct cpuset { >> /* Handle for cpuset.cpus.partition */ >> struct cgroup_file partition_file; >> - /* Remote partition silbling list anchored at remote_children */ >> - struct list_head remote_sibling; >> - >> /* Used to merge intersecting subsets for generate_sched_domains */ >> struct uf_node node; >> }; >> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c >> index c90476d52f09..aff3ddc67393 100644 >> --- a/kernel/cgroup/cpuset.c >> +++ b/kernel/cgroup/cpuset.c >> @@ -94,9 +94,6 @@ static bool isolated_cpus_updating; >> static cpumask_var_t boot_hk_cpus; >> static bool have_boot_isolcpus; >> -/* List of remote partition root children */ >> -static struct list_head remote_children; >> - >> /* >> * A flag to force sched domain rebuild at the end of an operation. >> * It can be set in >> @@ -219,7 +216,7 @@ static struct cpuset top_cpuset = { >> BIT(CS_MEM_EXCLUSIVE) | BIT(CS_SCHED_LOAD_BALANCE), >> .partition_root_state = PRS_ROOT, >> .relax_domain_level = -1, >> - .remote_sibling = LIST_HEAD_INIT(top_cpuset.remote_sibling), >> + .remote_partition = false, > I forgot to notify you that this init is also not needed. Anyway, this is a minor issue. Hmm, I should have noticed that. This could be fixed if we send a related patch in the future, but I don't think it's worth submitting a standalone patch. >> }; >> /* >> @@ -1572,7 +1569,7 @@ static int compute_trialcs_excpus(struct cpuset *trialcs, struct cpuset *cs) >> static inline bool is_remote_partition(struct cpuset *cs) >> { >> - return !list_empty(&cs->remote_sibling); >> + return cs->remote_partition; >> } >> static inline bool is_local_partition(struct cpuset *cs) >> @@ -1621,7 +1618,7 @@ static int remote_partition_enable(struct cpuset *cs, int new_prs, >> spin_lock_irq(&callback_lock); >> partition_xcpus_add(new_prs, NULL, tmp->new_cpus); >> - list_add(&cs->remote_sibling, &remote_children); >> + cs->remote_partition = true; >> cpumask_copy(cs->effective_xcpus, tmp->new_cpus); >> spin_unlock_irq(&callback_lock); >> update_isolation_cpumasks(); >> @@ -1651,7 +1648,7 @@ static void remote_partition_disable(struct cpuset *cs, struct tmpmasks *tmp) >> WARN_ON_ONCE(!cpumask_subset(cs->effective_xcpus, subpartitions_cpus)); >> spin_lock_irq(&callback_lock); >> - list_del_init(&cs->remote_sibling); >> + cs->remote_partition = false; >> partition_xcpus_del(cs->partition_root_state, NULL, cs->effective_xcpus); >> if (cs->prs_err) >> cs->partition_root_state = -cs->partition_root_state; >> @@ -3603,7 +3600,6 @@ cpuset_css_alloc(struct cgroup_subsys_state *parent_css) >> __set_bit(CS_SCHED_LOAD_BALANCE, &cs->flags); >> fmeter_init(&cs->fmeter); >> cs->relax_domain_level = -1; >> - INIT_LIST_HEAD(&cs->remote_sibling); >> /* Set CS_MEMORY_MIGRATE for default hierarchy */ >> if (cpuset_v2()) >> @@ -3874,7 +3870,6 @@ int __init cpuset_init(void) >> nodes_setall(top_cpuset.effective_mems); >> fmeter_init(&top_cpuset.fmeter); >> - INIT_LIST_HEAD(&remote_children); >> BUG_ON(!alloc_cpumask_var(&cpus_attach, GFP_KERNEL)); >> > Reviewed-by: Waiman Long <longman@redhat.com> > Thanks. -- Best regards, Ridong ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH -next v2 3/3] cpuset: remove need_rebuild_sched_domains 2025-11-11 13:24 [PATCH -next v2 0/3] cpuset: code cleanups Chen Ridong 2025-11-11 13:24 ` [PATCH -next v2 1/3] cpuset: simplify node setting on error Chen Ridong 2025-11-11 13:24 ` [PATCH -next v2 2/3] cpuset: remove global remote_children list Chen Ridong @ 2025-11-11 13:24 ` Chen Ridong 2025-11-11 21:56 ` [PATCH -next v2 0/3] cpuset: code cleanups Tejun Heo 3 siblings, 0 replies; 7+ messages in thread From: Chen Ridong @ 2025-11-11 13:24 UTC (permalink / raw) To: longman, tj, hannes, mkoutny; +Cc: cgroups, linux-kernel, lujialin4, chenridong From: Chen Ridong <chenridong@huawei.com> Previously, update_cpumasks_hier() used need_rebuild_sched_domains to decide whether to invoke rebuild_sched_domains_locked(). Now that rebuild_sched_domains_locked() only sets force_rebuild, the flag is redundant. Hence, remove it. Signed-off-by: Chen Ridong <chenridong@huawei.com> Reviewed-by: Waiman Long <longman@redhat.com> --- kernel/cgroup/cpuset.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index aff3ddc67393..daf813386260 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -2184,7 +2184,6 @@ static void update_cpumasks_hier(struct cpuset *cs, struct tmpmasks *tmp, { struct cpuset *cp; struct cgroup_subsys_state *pos_css; - bool need_rebuild_sched_domains = false; int old_prs, new_prs; rcu_read_lock(); @@ -2348,15 +2347,12 @@ static void update_cpumasks_hier(struct cpuset *cs, struct tmpmasks *tmp, if (!cpumask_empty(cp->cpus_allowed) && is_sched_load_balance(cp) && (!cpuset_v2() || is_partition_valid(cp))) - need_rebuild_sched_domains = true; + cpuset_force_rebuild(); rcu_read_lock(); css_put(&cp->css); } rcu_read_unlock(); - - if (need_rebuild_sched_domains) - cpuset_force_rebuild(); } /** -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH -next v2 0/3] cpuset: code cleanups 2025-11-11 13:24 [PATCH -next v2 0/3] cpuset: code cleanups Chen Ridong ` (2 preceding siblings ...) 2025-11-11 13:24 ` [PATCH -next v2 3/3] cpuset: remove need_rebuild_sched_domains Chen Ridong @ 2025-11-11 21:56 ` Tejun Heo 3 siblings, 0 replies; 7+ messages in thread From: Tejun Heo @ 2025-11-11 21:56 UTC (permalink / raw) To: Chen Ridong; +Cc: longman, hannes, mkoutny, cgroups, linux-kernel, lujialin4 > Chen Ridong (3): > cpuset: simplify node setting on error > cpuset: remove global remote_children list > cpuset: remove need_rebuild_sched_domains Applied 1-3 to cgroup/for-6.19. Thanks. -- tejun ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-11-12 0:44 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-11-11 13:24 [PATCH -next v2 0/3] cpuset: code cleanups Chen Ridong 2025-11-11 13:24 ` [PATCH -next v2 1/3] cpuset: simplify node setting on error Chen Ridong 2025-11-11 13:24 ` [PATCH -next v2 2/3] cpuset: remove global remote_children list Chen Ridong 2025-11-11 14:56 ` Waiman Long 2025-11-12 0:44 ` Chen Ridong 2025-11-11 13:24 ` [PATCH -next v2 3/3] cpuset: remove need_rebuild_sched_domains Chen Ridong 2025-11-11 21:56 ` [PATCH -next v2 0/3] cpuset: code cleanups Tejun Heo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox