|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-devel
[Xen-devel] [PATCH 11/11] xen/m2p: Check whether the MFN has	IDENTITY_FR 
| To: | linux-kernel@xxxxxxxxxxxxxxx, Xen-devel@xxxxxxxxxxxxxxxxxxx,	konrad@xxxxxxxxxx, jeremy@xxxxxxxx |  
| Subject: | [Xen-devel] [PATCH 11/11] xen/m2p: Check whether the MFN has	IDENTITY_FRAME bit set.. |  
| From: | Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> |  
| Date: | Mon, 31 Jan 2011 17:44:36 -0500 |  
| Cc: | Ian.Campbell@xxxxxxxxxxxxx, stefano.stabellini@xxxxxxxxxxxxx,	Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>, hpa@xxxxxxxxx |  
| Delivery-date: | Mon, 31 Jan 2011 15:12:22 -0800 |  
| Envelope-to: | www-data@xxxxxxxxxxxxxxxxxxx |  
| In-reply-to: | <1296513876-31415-1-git-send-email-konrad.wilk@xxxxxxxxxx> |  
| List-help: | <mailto:xen-devel-request@lists.xensource.com?subject=help> |  
| List-id: | Xen developer discussion <xen-devel.lists.xensource.com> |  
| List-post: | <mailto:xen-devel@lists.xensource.com> |  
| List-subscribe: | <http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |  
| List-unsubscribe: | <http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |  
| References: | <1296513876-31415-1-git-send-email-konrad.wilk@xxxxxxxxxx> |  
| Sender: | xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |  
| From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
If we have the IDENTITY_FRAME bit set from the P2M, there
is no point in looking up MFN in the M2P override. This is
b/c the MFN is a physical MFN.
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
---
 arch/x86/include/asm/xen/page.h |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h
index ed46ec2..e6f7f37 100644
--- a/arch/x86/include/asm/xen/page.h
+++ b/arch/x86/include/asm/xen/page.h
@@ -81,6 +81,7 @@ static inline int phys_to_machine_mapping_valid(unsigned long 
pfn)
 static inline unsigned long mfn_to_pfn(unsigned long mfn)
 {
        unsigned long pfn;
+       unsigned long p2m_mfn;
 
        if (xen_feature(XENFEAT_auto_translated_physmap))
                return mfn;
@@ -102,7 +103,12 @@ try_override:
         * doesn't map back to the mfn), then check the local override
         * table to see if there's a better pfn to use.
         */
-       if (get_phys_to_machine(pfn) != mfn)
+       p2m_mfn = get_phys_to_machine(pfn);
+
+       if (p2m_mfn == IDENTITY_FRAME(mfn))
+               return pfn;
+
+       if (p2m_mfn != mfn)
                pfn = m2p_find_override_pfn(mfn, pfn);
 
        return pfn;
-- 
1.7.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
[Xen-devel] [PATCH v4] Consider E820 non-RAM and E820 gaps as 1-1	mappings., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 05/11] xen/setup: Set identity mapping for	non-RAM E820 and E820 gaps., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 09/11] xen/debug: WARN_ON when identity PFN has	no _PAGE_IOMAP flag set., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 11/11] xen/m2p: Check whether the MFN has	IDENTITY_FRAME bit set..,
Konrad Rzeszutek Wilk <=
[Xen-devel] [PATCH 03/11] xen/mmu: Set _PAGE_IOMAP if PFN is an	identity PFN., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 08/11] xen/debugfs: Add 'p2m' file for printing	out the P2M layout., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 07/11] x86/setup: Consult the raw E820 for zero	sized E820 RAM regions., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 02/11] xen/mmu: Add the notion of identity (1-1)	mapping., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 06/11] xen/setup: Skip over 1st gap after System	RAM., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 04/11] xen/mmu: BUG_ON when racing to swap	middle leaf., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 01/11] xen: Mark all initial reserved pages for	the balloon as INVALID_P2M_ENTRY., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 10/11] xen/m2p: No need to catch exceptions when	we know that there is no RAM, Konrad Rzeszutek Wilk
 |  |  | 
  
    |  |  |