* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.