[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <53be5f98-6359-48b5-955e-fd203d99d3cb@web.de>
Date: Sun, 31 Dec 2023 08:28:08 +0100
From: Markus Elfring <Markus.Elfring@....de>
To: cgroups@...r.kernel.org, kernel-janitors@...r.kernel.org,
Johannes Weiner <hannes@...xchg.org>, Tejun Heo <tj@...nel.org>,
Waiman Long <longman@...hat.com>, Zefan Li <lizefan.x@...edance.com>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH] cgroup/cpuset: Adjust exception handling in
generate_sched_domains()
From: Markus Elfring <elfring@...rs.sourceforge.net>
Date: Sun, 31 Dec 2023 08:00:31 +0100
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.
Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
---
kernel/cgroup/cpuset.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index ba36c073304a..29ccd52eb45c 100644
--- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c
@@ -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) {
@@ -986,12 +985,12 @@ static int generate_sched_domains(cpumask_var_t **domains,
cpumask_and(doms[0], top_cpuset.effective_cpus,
housekeeping_cpumask(HK_TYPE_DOMAIN));
- goto done;
+ goto set_ndoms;
}
csa = kmalloc_array(nr_cpusets(), sizeof(cp), GFP_KERNEL);
if (!csa)
- goto done;
+ goto set_ndoms;
csn = 0;
rcu_read_lock();
@@ -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;
--
2.43.0
Powered by blists - more mailing lists