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

[Xen-devel] [PATCH 0/2] enable event channel wake-up for mem_event inter

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 0/2] enable event channel wake-up for mem_event interfaces
From: Adin Scannell <adin@xxxxxxxxxxxxxxx>
Date: Wed, 28 Sep 2011 17:22:34 -0400
Delivery-date: Wed, 28 Sep 2011 14:23:41 -0700
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/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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Currently the mem_event code requires a domctl to kick the hypervisor
and unpause vcpus.  An event channel is used to notify dom0 of
requests placed in the ring, and it can similarly be used to notify
Xen, so as not to overuse domctls when running many domains with
mem_event interfaces (domctls are not a great interface for this sort
of thing, because they will all be serialized).

This patch set enables the use of the event channel to signal when a
response in placed in a mem_event ring.

The two patches are as follows:
- The first patch tweaks the memevent code to ensure that no events
are lost.  Instead of calling get_response once per kick, we may have
to pull out multiple events at a time.  This doesn't affect normal
operation with the domctls.
This patch also ensures that each vCPU can generate a request in each
mem_event ring (i.e. put_request will always work), by appropriately
pausing vCPUs when after requests are placed.
- The second patch breaks the Xen-side event channel handling into a
new arch-specific file "events.c", and adds cases for the different
Xen-handled event channels.  This formalizes the tiny exception that
was in place for just qemu in event_channel.c.

All the domctls are still in place and everything should be backwards
compatible.

Cheers,
-Adin

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