* [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
* [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 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 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
* 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
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