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/
Home Products Support Community News


Re: [Xen-devel] [PATCH] Add new location of Linux direct-map to theplace

To: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Add new location of Linux direct-map to theplaces to look for writable mappings
From: Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx>
Date: Fri, 12 Sep 2008 21:32:56 +0100
Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>, Ian Pratt <Ian.Pratt@xxxxxxxxxxxxx>, xen-devel mailing list <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 12 Sep 2008 13:34:03 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <DD74FBB8EE28D441903D56487861CD9D35C65107@xxxxxxxxxxxxxxxxxxxxxx>
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: <de76405a0809120838kee79064s6e81254a6ad0ebce@xxxxxxxxxxxxxx> <46f44832-0241-48ff-a6d2-d278003d42a1@default> <DD74FBB8EE28D441903D56487861CD9D35C65107@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla-Thunderbird (X11/20080110)
Sorry for the double-quote, I never received bizarrely Dan's email and I have only Ian's answer.

I haven't even looked at this code so sorry for my
possibly naive comment, but isn't this just asking for
trouble to hardcode constants that apply to specific
OS's?  Isn't there a way to "sense" that this address is
used a lot and add it to a dynamic list that can be
checked?  Else sooner or later some user is going to say
"I tried Xen on xxx OS and performance sucked and it
was fine on (unnamed virtualization platform)".  But that
user might not be as diligent about reporting to
xen-devel as Todd was.

I would just like to note that this disastrous benchmark result was due to two consecutive problems, the OS heuristic being only a secondary issue.

Usually, removing write access to an out-of-sync page shouldn't need at all the OS heuristic guessing, since it is a very frequent operation and that would affect performances (as we all have seen). Fixup tables exist exactly for this purpose, acting basically as reverse map for writable mappings of pagetables.

What was happening is that the fixup tables were failing, thus the research of the writable mappings was falling back to guest heuristic. This is bad per se, but it was working well enough until 2.6.27.

So, while I agree that having hard-coded addresses into the hypervisor is not nice, in case of failure of this mechanism the results shouldn't be as bad as the one we've seen. That was all my fault. :)


Xen-devel mailing list