On 2025/9/16 4:05, Waiman Long wrote:
> On 9/8/25 11:32 PM, Chen Ridong wrote:
>> From: Chen Ridong <chenridong@huawei.com>
>>
>> Previous patches have refactored partition_cpus_change. Now replace the
>> exclusive cpus setting logic with this helper function.
> Nit: The term "refactor" usually mean updating the code of an existing function, sometimes
> extracting out code into new helper functions. In your case, partition_cpus_change() is a new helper
> function. This is also an issue in some of the earlier patches. I would prefer using phrase like "A
> previous patch has introduced a new helper function partition_cpus_change()"
Thank you, will update.
>>
>> Signed-off-by: Chen Ridong <chenridong@huawei.com>
>> ---
>> kernel/cgroup/cpuset.c | 29 ++---------------------------
>> 1 file changed, 2 insertions(+), 27 deletions(-)
>>
>> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
>> index 785a2740b0ea..6a44dfabe9dd 100644
>> --- a/kernel/cgroup/cpuset.c
>> +++ b/kernel/cgroup/cpuset.c
>> @@ -2562,8 +2562,6 @@ static int update_exclusive_cpumask(struct cpuset *cs, struct cpuset *trialcs,
>> {
>> int retval;
>> struct tmpmasks tmp;
>> - struct cpuset *parent = parent_cs(cs);
>> - bool invalidate = false;
>> bool force = false;
>> int old_prs = cs->partition_root_state;
>> @@ -2595,32 +2593,9 @@ static int update_exclusive_cpumask(struct cpuset *cs, struct cpuset
>> *trialcs,
>> if (alloc_tmpmasks(&tmp))
>> return -ENOMEM;
>> - if (old_prs) {
>> - if (cpumask_empty(trialcs->effective_xcpus)) {
>> - invalidate = true;
>> - cs->prs_err = PERR_INVCPUS;
>> - } else if (prstate_housekeeping_conflict(old_prs, trialcs->effective_xcpus)) {
>> - invalidate = true;
>> - cs->prs_err = PERR_HKEEPING;
>> - } else if (tasks_nocpu_error(parent, cs, trialcs->effective_xcpus)) {
>> - invalidate = true;
>> - cs->prs_err = PERR_NOCPUS;
>> - }
>> + trialcs->prs_err = PERR_NONE;
>> + partition_cpus_change(cs, trialcs, &tmp);
>> - if (is_remote_partition(cs)) {
>> - if (invalidate)
>> - remote_partition_disable(cs, &tmp);
>> - else
>> - remote_cpus_update(cs, trialcs->exclusive_cpus,
>> - trialcs->effective_xcpus, &tmp);
>> - } else if (invalidate) {
>> - update_parent_effective_cpumask(cs, partcmd_invalidate,
>> - NULL, &tmp);
>> - } else {
>> - update_parent_effective_cpumask(cs, partcmd_update,
>> - trialcs->effective_xcpus, &tmp);
>> - }
>> - }
>> spin_lock_irq(&callback_lock);
>> cpumask_copy(cs->exclusive_cpus, trialcs->exclusive_cpus);
>> cpumask_copy(cs->effective_xcpus, trialcs->effective_xcpus);
> Reviewed-by: Waiman Long <longman@redhat.com>
--
Best regards,
Ridong