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] Re: Making pages writable again in paging_log_dirty mode

To: "Tim Deegan" <Tim.Deegan@xxxxxxxxxx>
Subject: Re: [Xen-devel] Re: Making pages writable again in paging_log_dirty mode
From: "Mike Sun" <msun@xxxxxxxxxx>
Date: Fri, 2 Jan 2009 11:50:05 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 02 Jan 2009 08:50:30 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=7OEG84vanlJ8gWr5w/LvV33xNBE96trBvupU9xuDFEs=; b=YEHU32RU8R3bUjrYUQ8OzAbWRKSpwAfxsmMtcr0mtC+6Uk0zQStmXYsQTnRuqaUrn0 vwjxlRMM7Ii1+BHgpShF7F//FpOj/CCi0eM0QluGsXaOUSAgjRL6VaqoGNhDqE5XKERW 4mLV+RQ4yvrjQ3o1YoitBhx9IWx0b3RAXB7OI=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=kUvif9zlxGb+1XQD4BNGAjYE6r8ypsm/It+k5+qud0XhSxDxWVC+x/saYW9bEiCUJf xL48swOgAGYiIZRaWOGREQNdFGMoCMFeOcLus8Md+LlmHzoAfRspaY5QKDNDMAjUevj0 UcrXFQxOpL7drg5GnbPllTL2lTVfixRBDlbG0=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090102100725.GB12729@xxxxxxxxxxxxxxxxxxxxx>
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: <e4e579070812191254k6bc57cf7hfb60e900c1a3c0aa@xxxxxxxxxxxxxx> <e4e579070812191308q77c3a398p6baa246cff5f7ab2@xxxxxxxxxxxxxx> <e4e579070812191359t1bd3a8cand9bb01cd62da9696@xxxxxxxxxxxxxx> <20090102100725.GB12729@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> IIRC, They should stay as PGT_writeable, with a type count of zero.

Thanks a bunch Tim.  In tracking down my overflow problem, it lead me
to find that that the "get_page_from_l1e()" function has this bit of
code that is causing my problem:

    /* Foreign mappings into guests in shadow external mode don't
     * contribute to writeable mapping refcounts.  (This allows the
     * qemu-dm helper process in dom0 to map the domain's memory without
     * messing up the count of "real" writable mappings.) */
    okay = (((l1f & _PAGE_RW) &&
             !(unlikely(paging_mode_external(d) && (d != curr->domain))))
            ? get_page_and_type(page, d, PGT_writable_page)
            : get_page(page, d));

Basically, I'm trying to make an HVM guest's pages writable again via
a hypercall from dom0, and so this piece of code messes up the type
count since I'm actually changing "proper" writeable mapping
refcounts.  For now, I'm just calling an extra
"get_page_and_type(page, d, PGT_writable_page)" manually, and I think
it solves this problem, but I'm getting a different kind of kernel
panic now where it complains about not being able to
"rm_write_access()" due to some special mappings.  Any ideas?

-- Mike

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