The compiler can't fold because of the write to *perr in the first hunk.
No functional change, but slightly better compiled code.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Juergen Gross <jgross@suse.com>
CC: Dario Faggioli <dfaggioli@suse.com>
---
xen/common/cpupool.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/xen/common/cpupool.c b/xen/common/cpupool.c
index 4d3adbdd8d..d66b541a94 100644
--- a/xen/common/cpupool.c
+++ b/xen/common/cpupool.c
@@ -236,10 +236,8 @@ static struct cpupool *cpupool_create(
{
if ( (*q)->cpupool_id == poolid )
{
- spin_unlock(&cpupool_lock);
- free_cpupool_struct(c);
*perr = -EEXIST;
- return NULL;
+ goto err;
}
c->next = *q;
}
@@ -253,11 +251,7 @@ static struct cpupool *cpupool_create(
{
c->sched = scheduler_alloc(sched_id, perr);
if ( c->sched == NULL )
- {
- spin_unlock(&cpupool_lock);
- free_cpupool_struct(c);
- return NULL;
- }
+ goto err;
}
c->gran = opt_sched_granularity;
@@ -270,6 +264,11 @@ static struct cpupool *cpupool_create(
*perr = 0;
return c;
+
+ err:
+ spin_unlock(&cpupool_lock);
+ free_cpupool_struct(c);
+ return NULL;
}
/*
* destroys the given cpupool
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel