[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |