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

RE: [Xen-devel] bug fix patch

To: "Kip Macy" <kip.macy@xxxxxxxxx>, "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] bug fix patch
From: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>
Date: Mon, 18 Apr 2005 15:53:02 +0100
Delivery-date: Mon, 18 Apr 2005 14:52:51 +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
Thread-index: AcVDv5Ey2cUTpa6TRSOnhBcNfBKTbgAYJoKg
Thread-topic: [Xen-devel] bug fix patch
> - the page not validated case in get_page_type needs to be 
> last, in the shadow mode code merge it was moved before the 
> general type checking case - when one tried to do an L2 pin 
> on a page with a self-reference xen would spin forever in 
> cpu_relax. This patch returns it to the last case.

Your proposal introduces a potantial SMP race, but we're discussing a
better fix.

However, I'm not entirely sure we want to fully support the behaviour
that you are relying on. Why can't you pin the L2 page when its empty
(as we do on Linux), before it contains the linear mapping? 

To fully support this behaviour in the general case, we'd need to handle
arbitrary promotion of pages (e.g. L1->L2 when a linear mapping has been
created to another L2 that has yet to be pinned). We have to do this for
the shadow mode code to support uncooperative OSes, but I'm not sure we
want to support this in the paravirtualized case as it complicates the
code. Special casing self-referential linear mappings (which is what's
causing you the immediate problems) might be OK, but is there any reason
why you can't just do the pinning earlier? 

BTW: if its easy for you, please could you send the other patches
through as separate bk export patches rather than bk send -- our scripts
aren't geared to handle the latter. 

Thanks,
Ian

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

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