* [PATCH] domctl: cleanup
@ 2015-03-03 14:40 Jan Beulich
2015-03-03 14:51 ` Ian Campbell
2015-03-03 20:12 ` Andrew Cooper
0 siblings, 2 replies; 4+ messages in thread
From: Jan Beulich @ 2015-03-03 14:40 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Campbell, Keir Fraser, Ian Jackson, Tim Deegan
[-- Attachment #1: Type: text/plain, Size: 7623 bytes --]
- drop redundant "ret = 0" statements
- drop unnecessary braces
- eliminate a few single use local variables
- move break statements inside case-specific braced scopes
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -517,8 +517,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
}
free_vcpu_guest_context(c.nat);
+ break;
}
- break;
case XEN_DOMCTL_pausedomain:
ret = -EINVAL;
@@ -531,11 +531,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
break;
case XEN_DOMCTL_resumedomain:
- {
domain_resume(d);
- ret = 0;
- }
- break;
+ break;
case XEN_DOMCTL_createdomain:
{
@@ -608,8 +605,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
op->domain = d->domain_id;
copyback = 1;
d = NULL;
+ break;
}
- break;
case XEN_DOMCTL_max_vcpus:
{
@@ -698,8 +695,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
maxvcpu_out_novcpulock:
domain_unpause(d);
+ break;
}
- break;
case XEN_DOMCTL_destroydomain:
ret = domain_kill(d);
@@ -715,14 +710,13 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
&op->u.nodeaffinity.nodemap);
if ( !ret )
ret = domain_set_node_affinity(d, &new_affinity);
+ break;
}
- break;
+
case XEN_DOMCTL_getnodeaffinity:
- {
ret = nodemask_to_xenctl_bitmap(&op->u.nodeaffinity.nodemap,
&d->node_affinity);
- }
- break;
+ break;
case XEN_DOMCTL_setvcpuaffinity:
case XEN_DOMCTL_getvcpuaffinity:
@@ -831,15 +825,13 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft,
v->cpu_soft_affinity);
}
+ break;
}
- break;
case XEN_DOMCTL_scheduler_op:
- {
ret = sched_adjust(d, &op->u.scheduler_op);
copyback = 1;
- }
- break;
+ break;
case XEN_DOMCTL_getdomaininfo:
{
@@ -851,12 +843,9 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
if ( d->domain_id >= dom )
break;
+ ret = -ESRCH;
if ( d == NULL )
- {
- rcu_read_unlock(&domlist_read_lock);
- ret = -ESRCH;
- break;
- }
+ goto getdomaininfo_out;
ret = xsm_getdomaininfo(XSM_HOOK, d);
if ( ret )
@@ -870,8 +859,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
getdomaininfo_out:
rcu_read_unlock(&domlist_read_lock);
d = NULL;
+ break;
}
- break;
case XEN_DOMCTL_getvcpucontext:
{
@@ -919,8 +908,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
getvcpucontext_out:
xfree(c.nat);
+ break;
}
- break;
case XEN_DOMCTL_getvcpuinfo:
{
@@ -944,15 +933,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
op->u.getvcpuinfo.cpu = v->processor;
ret = 0;
copyback = 1;
+ break;
}
- break;
case XEN_DOMCTL_max_mem:
{
- unsigned long new_max;
-
- ret = -EINVAL;
- new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT-10);
+ unsigned long new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT - 10);
spin_lock(&d->page_alloc_lock);
/*
@@ -961,21 +947,16 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
* the meantime, while tot > max, all new allocations are disallowed.
*/
d->max_pages = new_max;
- ret = 0;
spin_unlock(&d->page_alloc_lock);
+ break;
}
- break;
case XEN_DOMCTL_setdomainhandle:
- {
memcpy(d->handle, op->u.setdomainhandle.handle,
sizeof(xen_domain_handle_t));
- ret = 0;
- }
- break;
+ break;
case XEN_DOMCTL_setdebugging:
- {
ret = -EINVAL;
if ( d == current->domain ) /* no domain_pause() */
break;
@@ -983,9 +964,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
domain_pause(d);
d->debugger_attached = !!op->u.setdebugging.enable;
domain_unpause(d); /* causes guest to latch new status */
- ret = 0;
- }
- break;
+ break;
case XEN_DOMCTL_irq_permission:
{
@@ -1004,8 +983,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
ret = irq_permit_access(d, irq);
else
ret = irq_deny_access(d, irq);
+ break;
}
- break;
case XEN_DOMCTL_iomem_permission:
{
@@ -1027,8 +1006,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
ret = iomem_deny_access(d, mfn, mfn + nr_mfns - 1);
if ( !ret )
memory_type_changed(d);
+ break;
}
- break;
case XEN_DOMCTL_memory_mapping:
{
@@ -1079,15 +1058,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
}
/* Do this unconditionally to cover errors on above failure paths. */
memory_type_changed(d);
+ break;
}
- break;
case XEN_DOMCTL_settimeoffset:
- {
domain_set_time_offset(d, op->u.settimeoffset.time_offset_seconds);
- ret = 0;
- }
- break;
+ break;
case XEN_DOMCTL_set_target:
{
@@ -1113,16 +1089,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
/* Hold reference on @e until we destroy @d. */
d->target = e;
-
- ret = 0;
+ break;
}
- break;
case XEN_DOMCTL_subscribe:
- {
d->suspend_evtchn = op->u.subscribe.port;
- }
- break;
+ break;
case XEN_DOMCTL_mem_event_op:
ret = mem_event_domctl(d, &op->u.mem_event_op,
@@ -1131,41 +1103,28 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
break;
case XEN_DOMCTL_disable_migrate:
- {
d->disable_migrate = op->u.disable_migrate.disable;
- }
- break;
+ break;
#ifdef HAS_MEM_ACCESS
case XEN_DOMCTL_set_access_required:
- {
- struct p2m_domain* p2m;
-
- ret = -EPERM;
if ( current->domain == d )
- break;
-
- ret = 0;
- p2m = p2m_get_hostp2m(d);
- p2m->access_required = op->u.access_required.access_required;
- }
- break;
+ ret = -EPERM;
+ else
+ p2m_get_hostp2m(d)->access_required =
+ op->u.access_required.access_required;
+ break;
#endif
case XEN_DOMCTL_set_virq_handler:
- {
- uint32_t virq = op->u.set_virq_handler.virq;
- ret = set_global_virq_handler(d, virq);
- }
- break;
+ ret = set_global_virq_handler(d, op->u.set_virq_handler.virq);
+ break;
case XEN_DOMCTL_set_max_evtchn:
- {
d->max_evtchn_port = min_t(unsigned int,
op->u.set_max_evtchn.max_port,
INT_MAX);
- }
- break;
+ break;
case XEN_DOMCTL_setvnumainfo:
{
@@ -1184,9 +1143,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
d->vnuma = vnuma;
write_unlock(&d->vnuma_rwlock);
- ret = 0;
+ break;
}
- break;
default:
ret = arch_do_domctl(op, d, u_domctl);
[-- Attachment #2: domctl-cleanup.patch --]
[-- Type: text/plain, Size: 7638 bytes --]
domctl: cleanup
- drop redundant "ret = 0" statements
- drop unnecessary braces
- eliminate a few single use local variables
- move break statements inside case-specific braced scopes
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -517,8 +517,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
}
free_vcpu_guest_context(c.nat);
+ break;
}
- break;
case XEN_DOMCTL_pausedomain:
ret = -EINVAL;
@@ -531,11 +531,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
break;
case XEN_DOMCTL_resumedomain:
- {
domain_resume(d);
- ret = 0;
- }
- break;
+ break;
case XEN_DOMCTL_createdomain:
{
@@ -608,8 +605,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
op->domain = d->domain_id;
copyback = 1;
d = NULL;
+ break;
}
- break;
case XEN_DOMCTL_max_vcpus:
{
@@ -698,8 +695,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
maxvcpu_out_novcpulock:
domain_unpause(d);
+ break;
}
- break;
case XEN_DOMCTL_destroydomain:
ret = domain_kill(d);
@@ -715,14 +710,13 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
&op->u.nodeaffinity.nodemap);
if ( !ret )
ret = domain_set_node_affinity(d, &new_affinity);
+ break;
}
- break;
+
case XEN_DOMCTL_getnodeaffinity:
- {
ret = nodemask_to_xenctl_bitmap(&op->u.nodeaffinity.nodemap,
&d->node_affinity);
- }
- break;
+ break;
case XEN_DOMCTL_setvcpuaffinity:
case XEN_DOMCTL_getvcpuaffinity:
@@ -831,15 +825,13 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft,
v->cpu_soft_affinity);
}
+ break;
}
- break;
case XEN_DOMCTL_scheduler_op:
- {
ret = sched_adjust(d, &op->u.scheduler_op);
copyback = 1;
- }
- break;
+ break;
case XEN_DOMCTL_getdomaininfo:
{
@@ -851,12 +843,9 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
if ( d->domain_id >= dom )
break;
+ ret = -ESRCH;
if ( d == NULL )
- {
- rcu_read_unlock(&domlist_read_lock);
- ret = -ESRCH;
- break;
- }
+ goto getdomaininfo_out;
ret = xsm_getdomaininfo(XSM_HOOK, d);
if ( ret )
@@ -870,8 +859,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
getdomaininfo_out:
rcu_read_unlock(&domlist_read_lock);
d = NULL;
+ break;
}
- break;
case XEN_DOMCTL_getvcpucontext:
{
@@ -919,8 +908,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
getvcpucontext_out:
xfree(c.nat);
+ break;
}
- break;
case XEN_DOMCTL_getvcpuinfo:
{
@@ -944,15 +933,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
op->u.getvcpuinfo.cpu = v->processor;
ret = 0;
copyback = 1;
+ break;
}
- break;
case XEN_DOMCTL_max_mem:
{
- unsigned long new_max;
-
- ret = -EINVAL;
- new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT-10);
+ unsigned long new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT - 10);
spin_lock(&d->page_alloc_lock);
/*
@@ -961,21 +947,16 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
* the meantime, while tot > max, all new allocations are disallowed.
*/
d->max_pages = new_max;
- ret = 0;
spin_unlock(&d->page_alloc_lock);
+ break;
}
- break;
case XEN_DOMCTL_setdomainhandle:
- {
memcpy(d->handle, op->u.setdomainhandle.handle,
sizeof(xen_domain_handle_t));
- ret = 0;
- }
- break;
+ break;
case XEN_DOMCTL_setdebugging:
- {
ret = -EINVAL;
if ( d == current->domain ) /* no domain_pause() */
break;
@@ -983,9 +964,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
domain_pause(d);
d->debugger_attached = !!op->u.setdebugging.enable;
domain_unpause(d); /* causes guest to latch new status */
- ret = 0;
- }
- break;
+ break;
case XEN_DOMCTL_irq_permission:
{
@@ -1004,8 +983,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
ret = irq_permit_access(d, irq);
else
ret = irq_deny_access(d, irq);
+ break;
}
- break;
case XEN_DOMCTL_iomem_permission:
{
@@ -1027,8 +1006,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
ret = iomem_deny_access(d, mfn, mfn + nr_mfns - 1);
if ( !ret )
memory_type_changed(d);
+ break;
}
- break;
case XEN_DOMCTL_memory_mapping:
{
@@ -1079,15 +1058,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
}
/* Do this unconditionally to cover errors on above failure paths. */
memory_type_changed(d);
+ break;
}
- break;
case XEN_DOMCTL_settimeoffset:
- {
domain_set_time_offset(d, op->u.settimeoffset.time_offset_seconds);
- ret = 0;
- }
- break;
+ break;
case XEN_DOMCTL_set_target:
{
@@ -1113,16 +1089,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
/* Hold reference on @e until we destroy @d. */
d->target = e;
-
- ret = 0;
+ break;
}
- break;
case XEN_DOMCTL_subscribe:
- {
d->suspend_evtchn = op->u.subscribe.port;
- }
- break;
+ break;
case XEN_DOMCTL_mem_event_op:
ret = mem_event_domctl(d, &op->u.mem_event_op,
@@ -1131,41 +1103,28 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
break;
case XEN_DOMCTL_disable_migrate:
- {
d->disable_migrate = op->u.disable_migrate.disable;
- }
- break;
+ break;
#ifdef HAS_MEM_ACCESS
case XEN_DOMCTL_set_access_required:
- {
- struct p2m_domain* p2m;
-
- ret = -EPERM;
if ( current->domain == d )
- break;
-
- ret = 0;
- p2m = p2m_get_hostp2m(d);
- p2m->access_required = op->u.access_required.access_required;
- }
- break;
+ ret = -EPERM;
+ else
+ p2m_get_hostp2m(d)->access_required =
+ op->u.access_required.access_required;
+ break;
#endif
case XEN_DOMCTL_set_virq_handler:
- {
- uint32_t virq = op->u.set_virq_handler.virq;
- ret = set_global_virq_handler(d, virq);
- }
- break;
+ ret = set_global_virq_handler(d, op->u.set_virq_handler.virq);
+ break;
case XEN_DOMCTL_set_max_evtchn:
- {
d->max_evtchn_port = min_t(unsigned int,
op->u.set_max_evtchn.max_port,
INT_MAX);
- }
- break;
+ break;
case XEN_DOMCTL_setvnumainfo:
{
@@ -1184,9 +1143,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
d->vnuma = vnuma;
write_unlock(&d->vnuma_rwlock);
- ret = 0;
+ break;
}
- break;
default:
ret = arch_do_domctl(op, d, u_domctl);
[-- Attachment #3: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] domctl: cleanup 2015-03-03 14:40 [PATCH] domctl: cleanup Jan Beulich @ 2015-03-03 14:51 ` Ian Campbell 2015-03-03 20:12 ` Andrew Cooper 1 sibling, 0 replies; 4+ messages in thread From: Ian Campbell @ 2015-03-03 14:51 UTC (permalink / raw) To: Jan Beulich; +Cc: xen-devel, Keir Fraser, Ian Jackson, Tim Deegan On Tue, 2015-03-03 at 14:40 +0000, Jan Beulich wrote: > - drop redundant "ret = 0" statements > - drop unnecessary braces > - eliminate a few single use local variables > - move break statements inside case-specific braced scopes > > Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] domctl: cleanup 2015-03-03 14:40 [PATCH] domctl: cleanup Jan Beulich 2015-03-03 14:51 ` Ian Campbell @ 2015-03-03 20:12 ` Andrew Cooper 2015-03-04 7:44 ` [PATCH v2] " Jan Beulich 1 sibling, 1 reply; 4+ messages in thread From: Andrew Cooper @ 2015-03-03 20:12 UTC (permalink / raw) To: Jan Beulich, xen-devel; +Cc: Ian Campbell, Ian Jackson, Keir Fraser, Tim Deegan On 03/03/15 14:40, Jan Beulich wrote: > - drop redundant "ret = 0" statements > - drop unnecessary braces > - eliminate a few single use local variables > - move break statements inside case-specific braced scopes > > Signed-off-by: Jan Beulich <jbeulich@suse.com> One bug (one ret = 0 was not redundant) and one suggestion for futher cleanup. Otherwise, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> > > --- a/xen/common/domctl.c > +++ b/xen/common/domctl.c > @@ -831,15 +825,13 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe > ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft, > v->cpu_soft_affinity); > } > + break; > } > - break; > > case XEN_DOMCTL_scheduler_op: > - { > ret = sched_adjust(d, &op->u.scheduler_op); > copyback = 1; > - } > - break; > + break; > > case XEN_DOMCTL_getdomaininfo: > { For a cleanup patch, you might as well nuke the trailing whitespace, which includes the a space after this brace.... > @@ -870,8 +859,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe > getdomaininfo_out: > rcu_read_unlock(&domlist_read_lock); > d = NULL; > + break; > } > - break; > > case XEN_DOMCTL_getvcpucontext: > { ... and here ... > @@ -919,8 +908,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe > > getvcpucontext_out: > xfree(c.nat); > + break; > } > - break; > > case XEN_DOMCTL_getvcpuinfo: > { ... and here. > @@ -961,21 +947,16 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe > * the meantime, while tot > max, all new allocations are disallowed. > */ > d->max_pages = new_max; > - ret = 0; > spin_unlock(&d->page_alloc_lock); > + break; > } > - break; > > case XEN_DOMCTL_setdomainhandle: > - { > memcpy(d->handle, op->u.setdomainhandle.handle, > sizeof(xen_domain_handle_t)); > - ret = 0; > - } > - break; > + break; > > case XEN_DOMCTL_setdebugging: > - { > ret = -EINVAL; > if ( d == current->domain ) /* no domain_pause() */ > break; > @@ -983,9 +964,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe > domain_pause(d); > d->debugger_attached = !!op->u.setdebugging.enable; > domain_unpause(d); /* causes guest to latch new status */ > - ret = 0; This ret is not redundant. (Observe the unconditional ret = -EINVAL in the previous hunk). XEN_DOMCTL_setdebugging can probably be rearranged to a single if()/else in the same way as XEN_DOMCTL_set_access_required below to make it slightly shorter. ~Andrew > @@ -1131,41 +1103,28 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe > break; > > case XEN_DOMCTL_disable_migrate: > - { > d->disable_migrate = op->u.disable_migrate.disable; > - } > - break; > + break; > > #ifdef HAS_MEM_ACCESS > case XEN_DOMCTL_set_access_required: > - { > - struct p2m_domain* p2m; > - > - ret = -EPERM; > if ( current->domain == d ) > - break; > - > - ret = 0; > - p2m = p2m_get_hostp2m(d); > - p2m->access_required = op->u.access_required.access_required; > - } > - break; > + ret = -EPERM; > + else > + p2m_get_hostp2m(d)->access_required = > + op->u.access_required.access_required; > + break; > #endif > > case XEN_DOMCTL_set_virq_handler: > - { > - uint32_t virq = op->u.set_virq_handler.virq; > - ret = set_global_virq_handler(d, virq); > - } > - break; > + ret = set_global_virq_handler(d, op->u.set_virq_handler.virq); > + break; > > case XEN_DOMCTL_set_max_evtchn: > - { > d->max_evtchn_port = min_t(unsigned int, > op->u.set_max_evtchn.max_port, > INT_MAX); > - } > - break; > + break; > > case XEN_DOMCTL_setvnumainfo: > { > ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] domctl: cleanup 2015-03-03 20:12 ` Andrew Cooper @ 2015-03-04 7:44 ` Jan Beulich 0 siblings, 0 replies; 4+ messages in thread From: Jan Beulich @ 2015-03-04 7:44 UTC (permalink / raw) To: xen-devel Cc: Ian Campbell, Andrew Cooper, Keir Fraser, IanJackson, Tim Deegan [-- Attachment #1: Type: text/plain, Size: 9584 bytes --] - drop redundant "ret = 0" statements - drop unnecessary braces - eliminate a few single use local variables - move break statements inside case-specific braced scopes - eliminate trailing whitespace Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> --- v2: Fix XEN_DOMCTL_setdebugging case and eliminate trailing whitespace (both pointed out by Andrew). --- a/xen/common/domctl.c +++ b/xen/common/domctl.c @@ -1,8 +1,8 @@ /****************************************************************************** * domctl.c - * + * * Domain management operations. For use by node control stack. - * + * * Copyright (c) 2002-2006, K A Fraser */ @@ -154,13 +154,13 @@ void getdomaininfo(struct domain *d, str u64 cpu_time = 0; int flags = XEN_DOMINF_blocked; struct vcpu_runstate_info runstate; - + info->domain = d->domain_id; info->max_vcpu_id = XEN_INVALID_MAX_VCPU_ID; info->nr_online_vcpus = 0; info->ssidref = 0; - - /* + + /* * - domain is marked as blocked only if all its vcpus are blocked * - domain is marked as running if any of its vcpus is running */ @@ -237,7 +237,7 @@ static unsigned int default_vcpu0_locati } /* - * If we're on a HT system, we only auto-allocate to a non-primary HT. We + * If we're on a HT system, we only auto-allocate to a non-primary HT. We * favour high numbered CPUs in the event of a tie. */ cpumask_copy(&cpu_exclude_map, per_cpu(cpu_sibling_mask, 0)); @@ -517,8 +517,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe } free_vcpu_guest_context(c.nat); + break; } - break; case XEN_DOMCTL_pausedomain: ret = -EINVAL; @@ -531,11 +531,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe break; case XEN_DOMCTL_resumedomain: - { domain_resume(d); - ret = 0; - } - break; + break; case XEN_DOMCTL_createdomain: { @@ -608,8 +605,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe op->domain = d->domain_id; copyback = 1; d = NULL; + break; } - break; case XEN_DOMCTL_max_vcpus: { @@ -698,8 +695,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe maxvcpu_out_novcpulock: domain_unpause(d); + break; } - break; case XEN_DOMCTL_destroydomain: ret = domain_kill(d); @@ -715,14 +710,13 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe &op->u.nodeaffinity.nodemap); if ( !ret ) ret = domain_set_node_affinity(d, &new_affinity); + break; } - break; + case XEN_DOMCTL_getnodeaffinity: - { ret = nodemask_to_xenctl_bitmap(&op->u.nodeaffinity.nodemap, &d->node_affinity); - } - break; + break; case XEN_DOMCTL_setvcpuaffinity: case XEN_DOMCTL_getvcpuaffinity: @@ -831,18 +825,16 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft, v->cpu_soft_affinity); } + break; } - break; case XEN_DOMCTL_scheduler_op: - { ret = sched_adjust(d, &op->u.scheduler_op); copyback = 1; - } - break; + break; case XEN_DOMCTL_getdomaininfo: - { + { domid_t dom = op->domain; rcu_read_lock(&domlist_read_lock); @@ -851,12 +843,9 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe if ( d->domain_id >= dom ) break; + ret = -ESRCH; if ( d == NULL ) - { - rcu_read_unlock(&domlist_read_lock); - ret = -ESRCH; - break; - } + goto getdomaininfo_out; ret = xsm_getdomaininfo(XSM_HOOK, d); if ( ret ) @@ -870,11 +859,11 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe getdomaininfo_out: rcu_read_unlock(&domlist_read_lock); d = NULL; + break; } - break; case XEN_DOMCTL_getvcpucontext: - { + { vcpu_guest_context_u c = { .nat = NULL }; struct vcpu *v; @@ -919,11 +908,11 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe getvcpucontext_out: xfree(c.nat); + break; } - break; case XEN_DOMCTL_getvcpuinfo: - { + { struct vcpu *v; struct vcpu_runstate_info runstate; @@ -944,15 +933,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe op->u.getvcpuinfo.cpu = v->processor; ret = 0; copyback = 1; + break; } - break; case XEN_DOMCTL_max_mem: { - unsigned long new_max; - - ret = -EINVAL; - new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT-10); + unsigned long new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT - 10); spin_lock(&d->page_alloc_lock); /* @@ -961,31 +947,25 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe * the meantime, while tot > max, all new allocations are disallowed. */ d->max_pages = new_max; - ret = 0; spin_unlock(&d->page_alloc_lock); + break; } - break; case XEN_DOMCTL_setdomainhandle: - { memcpy(d->handle, op->u.setdomainhandle.handle, sizeof(xen_domain_handle_t)); - ret = 0; - } - break; + break; case XEN_DOMCTL_setdebugging: - { - ret = -EINVAL; - if ( d == current->domain ) /* no domain_pause() */ - break; - - domain_pause(d); - d->debugger_attached = !!op->u.setdebugging.enable; - domain_unpause(d); /* causes guest to latch new status */ - ret = 0; - } - break; + if ( unlikely(d == current->domain) ) /* no domain_pause() */ + ret = -EINVAL; + else + { + domain_pause(d); + d->debugger_attached = !!op->u.setdebugging.enable; + domain_unpause(d); /* causes guest to latch new status */ + } + break; case XEN_DOMCTL_irq_permission: { @@ -1004,8 +984,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe ret = irq_permit_access(d, irq); else ret = irq_deny_access(d, irq); + break; } - break; case XEN_DOMCTL_iomem_permission: { @@ -1027,8 +1007,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe ret = iomem_deny_access(d, mfn, mfn + nr_mfns - 1); if ( !ret ) memory_type_changed(d); + break; } - break; case XEN_DOMCTL_memory_mapping: { @@ -1079,15 +1059,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe } /* Do this unconditionally to cover errors on above failure paths. */ memory_type_changed(d); + break; } - break; case XEN_DOMCTL_settimeoffset: - { domain_set_time_offset(d, op->u.settimeoffset.time_offset_seconds); - ret = 0; - } - break; + break; case XEN_DOMCTL_set_target: { @@ -1113,16 +1090,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe /* Hold reference on @e until we destroy @d. */ d->target = e; - - ret = 0; + break; } - break; case XEN_DOMCTL_subscribe: - { d->suspend_evtchn = op->u.subscribe.port; - } - break; + break; case XEN_DOMCTL_mem_event_op: ret = mem_event_domctl(d, &op->u.mem_event_op, @@ -1131,41 +1104,28 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe break; case XEN_DOMCTL_disable_migrate: - { d->disable_migrate = op->u.disable_migrate.disable; - } - break; + break; #ifdef HAS_MEM_ACCESS case XEN_DOMCTL_set_access_required: - { - struct p2m_domain* p2m; - - ret = -EPERM; - if ( current->domain == d ) - break; - - ret = 0; - p2m = p2m_get_hostp2m(d); - p2m->access_required = op->u.access_required.access_required; - } - break; + if ( unlikely(current->domain == d) ) + ret = -EPERM; + else + p2m_get_hostp2m(d)->access_required = + op->u.access_required.access_required; + break; #endif case XEN_DOMCTL_set_virq_handler: - { - uint32_t virq = op->u.set_virq_handler.virq; - ret = set_global_virq_handler(d, virq); - } - break; + ret = set_global_virq_handler(d, op->u.set_virq_handler.virq); + break; case XEN_DOMCTL_set_max_evtchn: - { d->max_evtchn_port = min_t(unsigned int, op->u.set_max_evtchn.max_port, INT_MAX); - } - break; + break; case XEN_DOMCTL_setvnumainfo: { @@ -1184,9 +1144,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe d->vnuma = vnuma; write_unlock(&d->vnuma_rwlock); - ret = 0; + break; } - break; default: ret = arch_do_domctl(op, d, u_domctl); [-- Attachment #2: domctl-cleanup.patch --] [-- Type: text/plain, Size: 9599 bytes --] domctl: cleanup - drop redundant "ret = 0" statements - drop unnecessary braces - eliminate a few single use local variables - move break statements inside case-specific braced scopes - eliminate trailing whitespace Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> --- v2: Fix XEN_DOMCTL_setdebugging case and eliminate trailing whitespace (both pointed out by Andrew). --- a/xen/common/domctl.c +++ b/xen/common/domctl.c @@ -1,8 +1,8 @@ /****************************************************************************** * domctl.c - * + * * Domain management operations. For use by node control stack. - * + * * Copyright (c) 2002-2006, K A Fraser */ @@ -154,13 +154,13 @@ void getdomaininfo(struct domain *d, str u64 cpu_time = 0; int flags = XEN_DOMINF_blocked; struct vcpu_runstate_info runstate; - + info->domain = d->domain_id; info->max_vcpu_id = XEN_INVALID_MAX_VCPU_ID; info->nr_online_vcpus = 0; info->ssidref = 0; - - /* + + /* * - domain is marked as blocked only if all its vcpus are blocked * - domain is marked as running if any of its vcpus is running */ @@ -237,7 +237,7 @@ static unsigned int default_vcpu0_locati } /* - * If we're on a HT system, we only auto-allocate to a non-primary HT. We + * If we're on a HT system, we only auto-allocate to a non-primary HT. We * favour high numbered CPUs in the event of a tie. */ cpumask_copy(&cpu_exclude_map, per_cpu(cpu_sibling_mask, 0)); @@ -517,8 +517,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe } free_vcpu_guest_context(c.nat); + break; } - break; case XEN_DOMCTL_pausedomain: ret = -EINVAL; @@ -531,11 +531,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe break; case XEN_DOMCTL_resumedomain: - { domain_resume(d); - ret = 0; - } - break; + break; case XEN_DOMCTL_createdomain: { @@ -608,8 +605,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe op->domain = d->domain_id; copyback = 1; d = NULL; + break; } - break; case XEN_DOMCTL_max_vcpus: { @@ -698,8 +695,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe maxvcpu_out_novcpulock: domain_unpause(d); + break; } - break; case XEN_DOMCTL_destroydomain: ret = domain_kill(d); @@ -715,14 +710,13 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe &op->u.nodeaffinity.nodemap); if ( !ret ) ret = domain_set_node_affinity(d, &new_affinity); + break; } - break; + case XEN_DOMCTL_getnodeaffinity: - { ret = nodemask_to_xenctl_bitmap(&op->u.nodeaffinity.nodemap, &d->node_affinity); - } - break; + break; case XEN_DOMCTL_setvcpuaffinity: case XEN_DOMCTL_getvcpuaffinity: @@ -831,18 +825,16 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft, v->cpu_soft_affinity); } + break; } - break; case XEN_DOMCTL_scheduler_op: - { ret = sched_adjust(d, &op->u.scheduler_op); copyback = 1; - } - break; + break; case XEN_DOMCTL_getdomaininfo: - { + { domid_t dom = op->domain; rcu_read_lock(&domlist_read_lock); @@ -851,12 +843,9 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe if ( d->domain_id >= dom ) break; + ret = -ESRCH; if ( d == NULL ) - { - rcu_read_unlock(&domlist_read_lock); - ret = -ESRCH; - break; - } + goto getdomaininfo_out; ret = xsm_getdomaininfo(XSM_HOOK, d); if ( ret ) @@ -870,11 +859,11 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe getdomaininfo_out: rcu_read_unlock(&domlist_read_lock); d = NULL; + break; } - break; case XEN_DOMCTL_getvcpucontext: - { + { vcpu_guest_context_u c = { .nat = NULL }; struct vcpu *v; @@ -919,11 +908,11 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe getvcpucontext_out: xfree(c.nat); + break; } - break; case XEN_DOMCTL_getvcpuinfo: - { + { struct vcpu *v; struct vcpu_runstate_info runstate; @@ -944,15 +933,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe op->u.getvcpuinfo.cpu = v->processor; ret = 0; copyback = 1; + break; } - break; case XEN_DOMCTL_max_mem: { - unsigned long new_max; - - ret = -EINVAL; - new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT-10); + unsigned long new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT - 10); spin_lock(&d->page_alloc_lock); /* @@ -961,31 +947,25 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe * the meantime, while tot > max, all new allocations are disallowed. */ d->max_pages = new_max; - ret = 0; spin_unlock(&d->page_alloc_lock); + break; } - break; case XEN_DOMCTL_setdomainhandle: - { memcpy(d->handle, op->u.setdomainhandle.handle, sizeof(xen_domain_handle_t)); - ret = 0; - } - break; + break; case XEN_DOMCTL_setdebugging: - { - ret = -EINVAL; - if ( d == current->domain ) /* no domain_pause() */ - break; - - domain_pause(d); - d->debugger_attached = !!op->u.setdebugging.enable; - domain_unpause(d); /* causes guest to latch new status */ - ret = 0; - } - break; + if ( unlikely(d == current->domain) ) /* no domain_pause() */ + ret = -EINVAL; + else + { + domain_pause(d); + d->debugger_attached = !!op->u.setdebugging.enable; + domain_unpause(d); /* causes guest to latch new status */ + } + break; case XEN_DOMCTL_irq_permission: { @@ -1004,8 +984,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe ret = irq_permit_access(d, irq); else ret = irq_deny_access(d, irq); + break; } - break; case XEN_DOMCTL_iomem_permission: { @@ -1027,8 +1007,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe ret = iomem_deny_access(d, mfn, mfn + nr_mfns - 1); if ( !ret ) memory_type_changed(d); + break; } - break; case XEN_DOMCTL_memory_mapping: { @@ -1079,15 +1059,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe } /* Do this unconditionally to cover errors on above failure paths. */ memory_type_changed(d); + break; } - break; case XEN_DOMCTL_settimeoffset: - { domain_set_time_offset(d, op->u.settimeoffset.time_offset_seconds); - ret = 0; - } - break; + break; case XEN_DOMCTL_set_target: { @@ -1113,16 +1090,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe /* Hold reference on @e until we destroy @d. */ d->target = e; - - ret = 0; + break; } - break; case XEN_DOMCTL_subscribe: - { d->suspend_evtchn = op->u.subscribe.port; - } - break; + break; case XEN_DOMCTL_mem_event_op: ret = mem_event_domctl(d, &op->u.mem_event_op, @@ -1131,41 +1104,28 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe break; case XEN_DOMCTL_disable_migrate: - { d->disable_migrate = op->u.disable_migrate.disable; - } - break; + break; #ifdef HAS_MEM_ACCESS case XEN_DOMCTL_set_access_required: - { - struct p2m_domain* p2m; - - ret = -EPERM; - if ( current->domain == d ) - break; - - ret = 0; - p2m = p2m_get_hostp2m(d); - p2m->access_required = op->u.access_required.access_required; - } - break; + if ( unlikely(current->domain == d) ) + ret = -EPERM; + else + p2m_get_hostp2m(d)->access_required = + op->u.access_required.access_required; + break; #endif case XEN_DOMCTL_set_virq_handler: - { - uint32_t virq = op->u.set_virq_handler.virq; - ret = set_global_virq_handler(d, virq); - } - break; + ret = set_global_virq_handler(d, op->u.set_virq_handler.virq); + break; case XEN_DOMCTL_set_max_evtchn: - { d->max_evtchn_port = min_t(unsigned int, op->u.set_max_evtchn.max_port, INT_MAX); - } - break; + break; case XEN_DOMCTL_setvnumainfo: { @@ -1184,9 +1144,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe d->vnuma = vnuma; write_unlock(&d->vnuma_rwlock); - ret = 0; + break; } - break; default: ret = arch_do_domctl(op, d, u_domctl); [-- Attachment #3: Type: text/plain, Size: 126 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-03-04 7:44 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-03-03 14:40 [PATCH] domctl: cleanup Jan Beulich 2015-03-03 14:51 ` Ian Campbell 2015-03-03 20:12 ` Andrew Cooper 2015-03-04 7:44 ` [PATCH v2] " Jan Beulich
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.