From: Andrew Cooper Date: Fri, 19 Aug 2016 13:28:54 +0000 (+0100) Subject: xen/memop: Latch current->domain in a local variable X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~525 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f2c060fc972b1cb7aa7a1be35508a9ebfd564fdc;p=xen.git xen/memop: Latch current->domain in a local variable It is more efficient. Signed-off-by: Andrew Cooper Acked-by: Jan Beulich --- diff --git a/xen/common/memory.c b/xen/common/memory.c index 812334b689..1ead35c8ab 100644 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -864,7 +864,7 @@ static long xatp_permission_check(struct domain *d, unsigned int space) long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg) { - struct domain *d; + struct domain *d, *curr_d = current->domain; long rc; struct xen_memory_reservation reservation; struct memop_args args; @@ -905,7 +905,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg) && (reservation.mem_flags & XENMEMF_populate_on_demand) ) args.memflags |= MEMF_populate_on_demand; - if ( xsm_memory_adjust_reservation(XSM_TARGET, current->domain, d) ) + if ( xsm_memory_adjust_reservation(XSM_TARGET, curr_d, d) ) { rcu_unlock_domain(d); return start_extent; @@ -962,7 +962,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg) if ( d == NULL ) return -ESRCH; - rc = xsm_memory_stat_reservation(XSM_TARGET, current->domain, d); + rc = xsm_memory_stat_reservation(XSM_TARGET, curr_d, d); if ( rc ) { rcu_unlock_domain(d); @@ -1086,7 +1086,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg) if ( d == NULL ) return -ESRCH; - rc = xsm_remove_from_physmap(XSM_TARGET, current->domain, d); + rc = xsm_remove_from_physmap(XSM_TARGET, curr_d, d); if ( rc ) { rcu_unlock_domain(d);