Re: [PATCH 2/5] cgroup/cpuset: Add new cpus.partition type with no load balancing

From: Tejun Heo
Date: Wed Jun 16 2021 - 16:47:45 EST


Hello,

Generally looks fine to me.

On Thu, Jun 03, 2021 at 05:24:13PM -0400, Waiman Long wrote:
> @@ -1984,12 +1987,31 @@ static int update_prstate(struct cpuset *cs, int val)
> goto out;
>
> err = update_parent_subparts_cpumask(cs, partcmd_enable,
> - NULL, &tmp);
> + NULL, &tmpmask);
> +
> if (err) {
> update_flag(CS_CPU_EXCLUSIVE, cs, 0);
> goto out;
> + } else if (new_prs == PRS_ENABLED_NOLB) {
> + /*
> + * Disable the load balance flag should not return an

^ing

and "else if" after "if (err) goto out" block is weird. The two conditions
don't need to be tied together.

> @@ -2518,6 +2547,9 @@ static int sched_partition_show(struct seq_file *seq, void *v)
> case PRS_ENABLED:
> seq_puts(seq, "root\n");
> break;
> + case PRS_ENABLED_NOLB:
> + seq_puts(seq, "root-nolb\n");
> + break;
> case PRS_DISABLED:
> seq_puts(seq, "member\n");
> break;
> @@ -2544,6 +2576,8 @@ static ssize_t sched_partition_write(struct kernfs_open_file *of, char *buf,
> val = PRS_ENABLED;
> else if (!strcmp(buf, "member"))
> val = PRS_DISABLED;
> + else if (!strcmp(buf, "root-nolb"))
> + val = PRS_ENABLED_NOLB;
> else
> return -EINVAL;

I wonder whether there's a better name than "root-nolb" because nolb isn't
the most readable and we are using space as the delimiter for other names.
Would something like "isolated" work?

Thanks.

--
tejun