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

[Xen-changelog] [xen-unstable] x86 hvm: Do not check-and-fail on in_atomic() in hvm_copy().



# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1295018282 0
# Node ID 47d67a64a2d2a1a41e5588b0cbdf179958d1363d
# Parent  59396addc9408c68bf3c86a78a33ab490d5962b6
x86 hvm: Do not check-and-fail on in_atomic() in hvm_copy().

Stub this out for 4.0, as PV-on-HVM drivers hit this case when
performing grant-table hypercalls. Grant-table code currently accesses
guest memory under bug per-domain lock. The test in hvm_copy() is not
necessary until the xenpaging implementation is more complete, which
will not now be until after 4.1.0.

Signed-off-by: Keir Fraser <keir@xxxxxxx>
---
 xen/arch/x86/hvm/hvm.c |    9 +++++++++
 1 files changed, 9 insertions(+)

diff -r 59396addc940 -r 47d67a64a2d2 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c    Fri Jan 14 14:26:11 2011 +0000
+++ b/xen/arch/x86/hvm/hvm.c    Fri Jan 14 15:18:02 2011 +0000
@@ -1994,11 +1994,20 @@ static enum hvm_copy_result __hvm_copy(
     int count, todo = size;
 
     /*
+     * XXX Disable for 4.1.0: PV-on-HVM drivers will do grant-table ops
+     * such as query_size. Grant-table code currently does copy_to/from_guest
+     * accesses under the big per-domain lock, which this test would disallow.
+     * The test is not needed until we implement sleeping-on-waitqueue when
+     * we access a paged-out frame, and that's post 4.1.0 now.
+     */
+#if 0
+    /*
      * If the required guest memory is paged out, this function may sleep.
      * Hence we bail immediately if called from atomic context.
      */
     if ( in_atomic() )
         return HVMCOPY_unhandleable;
+#endif
 
     while ( todo > 0 )
     {

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


 


Rackspace

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