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

Re: [Xen-devel] [PATCH (V9) 2/2] xen: Add V4V implementation



On 05/28/2013 08:43 PM, Matt Wilson wrote:
On Tue, May 28, 2013 at 03:43:31PM -0400, Ross Philipson wrote:
Setup of v4v domains a domain gets created and cleanup
when a domain die. Wire up the v4v hypercall.

Include v4v internal and public headers.

Signed-off-by: Ross Philipson<ross.philipson@xxxxxxxxxx>

Would you consider making a boot-time option to disable v4v entirely?

I think that sounds reasonable since if you are not using it, it is consuming resources needlessly. I actually was thinking about this yesterday shortly after submitting the last patch set.

Thanks
Ross


--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -199,7 +199,8 @@ struct domain *domain_create(
  {
      struct domain *d, **pd;
      enum { INIT_xsm = 1u<<0, INIT_watchdog = 1u<<1, INIT_rangeset = 1u<<2,
-           INIT_evtchn = 1u<<3, INIT_gnttab = 1u<<4, INIT_arch = 1u<<5 };
+           INIT_evtchn = 1u<<3, INIT_gnttab = 1u<<4, INIT_arch = 1u<<5,
+           INIT_v4v = 1u<<6 };
      int err, init_status = 0;
      int poolid = CPUPOOLID_NONE;

@@ -312,6 +313,13 @@ struct domain *domain_create(
          spin_unlock(&domlist_update_lock);
      }

Perhaps an opt_v4v check here?

+    if ( !is_idle_domain(d) )
+    {
+        if ( (err = v4v_init(d)) != 0 )
+            goto fail;
+        init_status |= INIT_v4v;
+    }
+
      return d;

   fail:

[...]

new file mode 100644
index 0000000..701877d
--- /dev/null
+++ b/xen/common/v4v.c

[...]

+/*
+ * hypercall glue
+ */
+long
+do_v4v_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg1,
+          XEN_GUEST_HANDLE_PARAM(void) arg2,
+          uint32_t arg3, uint32_t arg4)
+{
+    struct domain *d = current->domain;
+    long rc = -EFAULT;
+
+    v4v_dprintk("->do_v4v_op(%d,%p,%p,%d,%d)\n", cmd,
+                (void *)arg1.p, (void *)arg2.p, (int) arg3, (int) arg4);
+

and check for d->v4v != NULL here, bailing with -ENOSYS?

+    domain_lock(d);
+    switch (cmd)
+    {
+    case V4VOP_register_ring:

[...]

--msw


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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