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

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

To: Chris <hap10@xxxxxxxxxxxxxx>, "Mike D. Day" <ncmike@xxxxxxxxxx>
Subject: Re: [Xen-devel] [1/3] Domgrps/SchedGrps Merge RFC: domgrps-vmm
From: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Date: Wed, 06 Feb 2008 21:00:05 +0900
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 06 Feb 2008 04:00:52 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1CB9F0D9-ADBD-4368-836C-94CAB62296B2@xxxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1CB9F0D9-ADBD-4368-836C-94CAB62296B2@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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