From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 1/2] x86: slightly simplify PHYSDEVOP_pirq_eoi_gmfn_v* handling Date: Mon, 19 Jan 2015 15:40:24 +0000 Message-ID: <54BD2568.90205@citrix.com> References: <54BD310A0200007800056878@mail.emea.novell.com> <54BD327A02000078000568CB@mail.emea.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YDERW-0007F5-8h for xen-devel@lists.xenproject.org; Mon, 19 Jan 2015 15:40:42 +0000 In-Reply-To: <54BD327A02000078000568CB@mail.emea.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich , xen-devel Cc: Keir Fraser List-Id: xen-devel@lists.xenproject.org On 19/01/15 15:36, Jan Beulich wrote: > We don't really need the MFN in more than one place (after dropping > mfn_to_page() translations where we know the result already), so no > need to have a local variable for it. > > Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper > > --- a/xen/arch/x86/physdev.c > +++ b/xen/arch/x86/physdev.c > @@ -336,7 +336,6 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H > case PHYSDEVOP_pirq_eoi_gmfn_v2: > case PHYSDEVOP_pirq_eoi_gmfn_v1: { > struct physdev_pirq_eoi_gmfn info; > - unsigned long mfn; > struct page_info *page; > > ret = -EFAULT; > @@ -352,21 +351,20 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H > put_page(page); > break; > } > - mfn = page_to_mfn(page); > > if ( cmpxchg(&v->domain->arch.pirq_eoi_map_mfn, > - 0, mfn) != 0 ) > + 0, page_to_mfn(page)) != 0 ) > { > - put_page_and_type(mfn_to_page(mfn)); > + put_page_and_type(page); > ret = -EBUSY; > break; > } > > - v->domain->arch.pirq_eoi_map = map_domain_page_global(mfn); > + v->domain->arch.pirq_eoi_map = __map_domain_page_global(page); > if ( v->domain->arch.pirq_eoi_map == NULL ) > { > v->domain->arch.pirq_eoi_map_mfn = 0; > - put_page_and_type(mfn_to_page(mfn)); > + put_page_and_type(page); > ret = -ENOSPC; > break; > } > > >