…Two resource allocation failures triggered further actions
over the label “done” so far.
* Jump to the statement “ndoms = 1;” in three cases directly
by using the label “set_ndoms” instead.
* Delete an assignment for the variable “ndoms” in one if branch.
…---
kernel/cgroup/cpuset.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
…@@ -973,10 +973,9 @@ static int generate_sched_domains(cpumask_var_t **domains,
/* Special case for the 99% of systems with one, full, sched domain */
if (root_load_balance && !top_cpuset.nr_subparts) {
- ndoms = 1;
doms = alloc_sched_domains(ndoms);
if (!doms)
- goto done;
+ goto set_ndoms;
dattr = kmalloc(sizeof(struct sched_domain_attr), GFP_KERNEL);
if (dattr) {
…@@ -1123,6 +1122,7 @@ static int generate_sched_domains(cpumask_var_t **domains,
* See comments in partition_sched_domains().
*/
if (doms == NULL)
+set_ndoms:
ndoms = 1;
*domains = doms;
Please clarify what this patch is for. Is it just a cleanup with no functional changes or is there a bug that is being fixed?The development opinions might vary for the presented transformation.
I suggest to reconsider the number of relevant variable assignments here.
Would you categorise an extra statement still as a desirable implementation detail?