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

Re: [Xen-devel] [1/3] Domgrps/SchedGrps Merge RFC: domgrps-vmm



Hi, Chris

Please write summaries of each patches.
And can you wirte usage of domgrps/schedgrps?
My comments are below.

+long do_domgrpctl(XEN_GUEST_HANDLE(xen_domgrpctl_t) u_domgrpctl)
+{
+       long ret = 0;
+       struct xen_domgrpctl curop, *op = &curop;
+       static DEFINE_SPINLOCK(domgrpctl_lock);
+       struct domain_group *grp;
+       dgid_t dgid;
+
+       if (!IS_PRIV(current->domain)) {
+               ret = -EPERM;
+               goto out;
+       }
+
+       if (copy_from_guest(op, u_domgrpctl, 1)) {
+               ret = -EFAULT;
+               goto out;
+       }
+
+       if (op->interface_version != XEN_DOMGRPCTL_INTERFACE_VERSION) {
+               ret = -EINVAL;
I think "ret = -EACESS" is right.

diff -urN xen-unstable/xen/arch/x86/setup.c 
xen-unstable-domgrps/xen/arch/x86/setup.c
--- xen-unstable/xen/arch/x86/setup.c   2008-01-29 12:44:24.000000000 -0500
+++ xen-unstable-domgrps/xen/arch/x86/setup.c   2008-01-29 12:53:23.000000000 
-0500
@@ -3,6 +3,7 @@
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/domain.h>
+#include <xen/domgrp.h>
 #include <xen/serial.h>
 #include <xen/softirq.h>
 #include <xen/acpi.h>
@@ -969,6 +970,10 @@
     if ( opt_watchdog ) 
         watchdog_enable();
 
+    /* initialize domain groups */
+    if (init_domain_groups())
+        panic("Error creating default groups\n");
+
     /* Create initial domain 0. */
     dom0 = domain_create(0, 0, DOM0_SSIDREF);
     if ( (dom0 == NULL) || (alloc_vcpu(dom0, 0, 0) == NULL) )
@@ -977,6 +982,9 @@
     dom0->is_privileged = 1;
     dom0->target = NULL;
 
+    if (add_dom_to_grp(dom0, 0))
+        panic("Error adding dom0 to grp0\n");
+
     /* Grab the DOM0 command line. */
     cmdline = (char *)(mod[0].string ? __va(mod[0].string) : NULL);
     if ( (cmdline != NULL) || (kextra != NULL) )
You change this part in the second patch.

diff -urN xen-unstable/xen/arch/x86/x86_64/entry.S 
xen-unstable-domgrps/xen/arch/x86/x86_64/entry.S
--- xen-unstable/xen/arch/x86/x86_64/entry.S    2007-11-19 10:38:08.000000000 
-0500
+++ xen-unstable-domgrps/xen/arch/x86/x86_64/entry.S    2007-11-19 
18:43:06.000000000 -0500
@@ -672,6 +672,7 @@
         .quad do_sysctl             /* 35 */
         .quad do_domctl
         .quad do_kexec_op
+        .quad do_domgrpctl
         .rept NR_hypercalls-((.-hypercall_table)/8)
         .quad do_ni_hypercall
         .endr
@@ -715,7 +716,7 @@
         .byte 1 /* do_sysctl            */  /* 35 */
         .byte 1 /* do_domctl            */
         .byte 2 /* do_kexec             */
-        .byte 1 /* do_xsm_op            */
+        .byte 1 /* do_domgrpctl         */
         .rept NR_hypercalls-(.-hypercall_args_table)
         .byte 0 /* do_ni_hypercall      */
         .endr
Why do you remove do_xsm_op?

diff -urN xen-unstable/xen/include/xen/compile.h 
xen-unstable-domgrps/xen/include/xen/compile.h
--- xen-unstable/xen/include/xen/compile.h      1969-12-31 19:00:00.000000000 
-0500
+++ xen-unstable-domgrps/xen/include/xen/compile.h      2008-01-23 
14:58:34.000000000 -0500
Please don't inlcude this file.

Best Regards,

Akio Takebe

>diffstat domgrps-vmm.patch
>  arch/ia64/xen/xensetup.c                 |    7
>  arch/powerpc/powerpc64/hypercall_table.S |    1
>  arch/powerpc/setup.c                     |    7
>  arch/x86/setup.c                         |    8
>  arch/x86/x86_32/entry.S                  |    2
>  arch/x86/x86_64/entry.S                  |    3
>  common/Makefile                          |    2
>  common/domain.c                          |    8
>  common/domctl.c                          |   13 +
>  common/domgrp.c                          |  320 ++++++++++++++++++++++++++
>+++++
>  common/domgrpctl.c                       |  134 ++++++++++++
>  common/sysctl.c                          |    1
>  include/public/domctl.h                  |    2
>  include/public/domgrpctl.h               |   86 ++++++++
>  include/public/xen.h                     |    5
>  include/xen/compile.h                    |   39 +++
>  include/xen/domgrp.h                     |   36 +++
>  include/xen/hypercall.h                  |    5
>  include/xen/sched.h                      |   21 ++
>  19 files changed, 697 insertions(+), 3 deletions(-)
>
>
>-------------------------------text/plain-------------------------------
>_______________________________________________
>Xen-devel mailing list
>Xen-devel@xxxxxxxxxxxxxxxxxxx
>http://lists.xensource.com/xen-devel


_______________________________________________
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®.