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] [PATCH 12/17] xenpaging: handle HVMCOPY_gfn_paged_out in

To: Keir Fraser <keir@xxxxxxx>
Subject: Re: [Xen-devel] [PATCH 12/17] xenpaging: handle HVMCOPY_gfn_paged_out in copy_from/to_user
From: Olaf Hering <olaf@xxxxxxxxx>
Date: Wed, 15 Dec 2010 14:51:40 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 15 Dec 2010 05:56:17 -0800
Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; t=1292421110; l=1384; s=domk; d=aepfle.de; h=In-Reply-To:Content-Type:MIME-Version:References:Subject:Cc:To:From: Date:X-RZG-CLASS-ID:X-RZG-AUTH; bh=4TxwB72FXtBieuSjz9VJ/NinFGE=; b=g6zGkjuBUlKk8ZTN5kCTLiDWEHK1Rdb6quH2q0T0teH8zHbzzLcTm0b26t5aF0ZXO/f jp/TTBecZJjtCydon4JllIEUgsR1ScMSXlTbxkVk/Z0R/m3EFFEpnscYyMK6Zp7IOUqeg N+fqyqb3p8vdC+sJfGtiJbBWQJTDDbeux+o=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C92E5879.2906B%keir@xxxxxxx>
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: <20101206205912.343173055@xxxxxxxxx> <C92E5879.2906B%keir@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.20 (2009-06-14)
On Wed, Dec 15, Keir Fraser wrote:

> On 06/12/2010 20:59, "Olaf Hering" <olaf@xxxxxxxxx> wrote:
> 
> >      mem_event_put_request(d, &req);
> > +
> > +    if ( req.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
> > +    {
> > +        wait_event(d->wq, mfn_valid(gfn_to_mfn(p2m, gfn, &p2mt)) &&
> > !p2m_is_paging(p2mt));
> > +    }
> > +
> 
> This I find interesting. Do you not race the xenpaging daemon satisfying
> your page-in request, but then very quickly paging it out again? In which
> case you might never wake up!

That probably depends on the size of the mru size in the xenpaging
policy. Right now alot of page-out/page-in will happen before the gfn
will be nominated again.

> I think the condition you wait on should be for a response to your paging
> request. A wake_up() alone is not really sufficient; you need some kind of
> explicit flagging to the vcpu too. Could the paging daemon stick a response
> in a shared ring, or otherwise explicitly flag to this vcpu that it's
> request has been fully satisfied and it's time to wake up and retry its
> operation? Well, really that's a rhetorical question, because that is
> exactly what you need to implement for this waitqueue strategy to work
> properly!

Yes, there needs to be some reliable event which the vcpu has to pick up.
I will return to work on this issue, but most likely not this year anymore.


Olaf


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

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