Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754789AbaAWPPu (ORCPT ); Thu, 23 Jan 2014 10:15:50 -0500 Received: from smtp.citrix.com ([66.165.176.89]:23011 "EHLO SMTP.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752862AbaAWPPt (ORCPT ); Thu, 23 Jan 2014 10:15:49 -0500 X-IronPort-AV: E=Sophos;i="4.95,706,1384300800"; d="scan'208";a="95767313" Date: Thu, 23 Jan 2014 15:14:40 +0000 From: Stefano Stabellini X-X-Sender: sstabellini@kaball.uk.xensource.com To: Zoltan Kiss CC: Stefano Stabellini , , , , , , Subject: Re: [Xen-devel] [PATCH v4] xen/grant-table: Avoid m2p_override during mapping In-Reply-To: <52E13149.1070705@citrix.com> Message-ID: References: <1390335755-29328-1-git-send-email-zoltan.kiss@citrix.com> <52E00FB7.3040508@citrix.com> <52E015F5.70408@citrix.com> <52E13149.1070705@citrix.com> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-DLP: MIA1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 23 Jan 2014, Zoltan Kiss wrote: > On 23/01/14 13:59, Stefano Stabellini wrote: > > On Wed, 22 Jan 2014, Zoltan Kiss wrote: > > > > > > > diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c > > > > > > > index 2ae8699..0060178 100644 > > > > > > > --- a/arch/x86/xen/p2m.c > > > > > > > +++ b/arch/x86/xen/p2m.c > > > > > > > @@ -872,15 +872,13 @@ static unsigned long mfn_hash(unsigned long > > > > > > > mfn) > > > > > > > > > > > > > > /* Add an MFN override for a particular page */ > > > > > > > int m2p_add_override(unsigned long mfn, struct page *page, > > > > > > > - struct gnttab_map_grant_ref *kmap_op) > > > > > > > + struct gnttab_map_grant_ref *kmap_op, unsigned long > > > > > > > pfn) > > > > > > > > > > > > Do we really need to add another additional parameter to > > > > > > m2p_add_override? > > > > > > I would just let m2p_add_override and m2p_remove_override call > > > > > > page_to_pfn again. It is not that expensive. > > > > > Yes, because that page_to_pfn can return something different. That's > > > > > why > > > > > the > > > > > v2 patches failed. > > > > > > > > I am really curious: how can page_to_pfn return something different? > > > > I don't think is supposed to happen. > > > You call set_phys_to_machine before calling m2p* functions. > > > > set_phys_to_machine changes the physical to machine mapping, that would > > be the mfn corresponding to a given pfn. It shouldn't affect the output > > of page_to_pfn that returns the pfn corresponding to a given struct > > page. The calculation of which is based on address offsets and should be > > static and unaffected by things like set_phys_to_machine. > > Indeed, my mistake. The mfn is the only thing which changes, it still has to > be passed to m2p_remove_override. I'll send in a next version Passing the mfn to m2p_remove_override is OK. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/