WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Odd mapping behavior with map_pages_to_xen

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Odd mapping behavior with map_pages_to_xen
From: Arne Mejlholm <mejlholm@xxxxxxxxx>
Date: Thu, 16 Mar 2006 15:24:29 +0100
Delivery-date: Thu, 16 Mar 2006 14:25:30 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.7 (X11/20050923)
Dear all,

I'm experiencing some odd behavior when using the map_pages_to_xen function in arch/x86/mm.c.

The set up is as follows:

1. I allocate an entire page and get its virtual address.
2. For each machine frame number (mfn) I map the mfn onto the virtual address acquired in step 1.
       a. I read the contents of the page.
b. If softirqs are pending, exit and do_softirq(); else continue with next mfn.

most of the time this procedure works just fine, but once in a while I get odd results. In one iteration all the
pages are reported to contain only zeros. This of course cannot be true.

Perhaps it should be noted that step 2 is carried out from within the idle_loop. Although it seems safe to exploit this idle state, could there be some assumptions that does not hold? Could it be that for reasons not evident to me, mapping pages into Xen during this idle time, is a bad idea and not safe?

About mapping pages into Xen, if I understand it correctly, Xen's 64MB address space is mapped into every page table for every process in every domain, so the virtual address allocated in step 1 should be accessible
in any context. Is this not the case?

Furthermore there seems to be a direct connection with whether the tls libraries are disabled or not. When they are not
disabled, the odd results seems to occur more frequently.

Thank you in advance,
Arne Mejlholm


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>