[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: how to handle paged hypercall args?


  • To: Olaf Hering <olaf@xxxxxxxxx>
  • From: Keir Fraser <keir@xxxxxxx>
  • Date: Thu, 02 Dec 2010 10:30:34 +0000
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Jan Beulich <JBeulich@xxxxxxxxxx>
  • Delivery-date: Thu, 02 Dec 2010 02:31:14 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=EpbBYRD2vFtTuXuDn/ouwuoP0Md9/fxZB0hCKmJ/8p2pVQTnv0wDCSSREiiQ3vC0i6 eiQGgsBALOMH3GxmLaK4as5n/B3iCgH6pr0FAWnh8K+QyLlKWYmbqz7wVsuBbxc9xCLv rKUqo0fn9PjOFOvstfrDHQ5QRuoaSYX4viuzM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcuSCuM9ywIkU2AjLkKEvwz8H/SQEwAARBlg
  • Thread-topic: [Xen-devel] Re: how to handle paged hypercall args?

On 02/12/2010 10:22, "Keir Fraser" <keir@xxxxxxx> wrote:

> Firstly, the usage of waitqueues is broken. The waitqueue_head should be
> shared with code that pages in, so that vcpus can be *woken* at some point
> after they start waiting. As it is, if a vcpu does sleep on its local
> waitqueue_head, it will never wake. You might start with a single global
> waitqueue_head and wake everyone on it every time a page (or maybe page
> batch) is paged in. More sophisticated might be to hash page numbers into a
> array of waitqueue_heads, to reduce false wakeups.

...Or you might have a per-domain waitqueue_head, and do the wake_up() from
code that adds paged-in entries to the guest physmap. That would seem a
pretty sensible way to proceed, to me.

 -- Keir



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.