From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH 1/1] Add .adjust_global callback Date: Mon, 3 May 2010 20:29:19 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0726564514==" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Dulloor Cc: keir.fraser@citrix.com, Kathy Hadley , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --===============0726564514== Content-Type: multipart/related; boundary=0015174bebc4a2d45d0485bc50fa --0015174bebc4a2d45d0485bc50fa Content-Type: multipart/alternative; boundary=0015174bebc4a2d4580485bc50f9 --0015174bebc4a2d4580485bc50f9 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Hmm, and it also needs to be adjusted for the new cpu pools stuff. I'll take a look at it tomorrow. -George On Mon, May 3, 2010 at 4:50 PM, George Dunlap wrote: > Also, the SCHEDOP needs an xsm callback; but I'm not an expert enough in > the xsm framework to say what it needs. > > Other than that: > > Acked-by: George Dunlap > > > On Mon, Apr 19, 2010 at 6:54 AM, Dulloor wrote: > >> You don't have to explicitly set adjust_global to NULL for credit and >> sedf. >> >> -dulloor >> >> On Mon, Apr 19, 2010 at 9:39 AM, Kathy Hadley < >> Kathy.Hadley@dornerworks.com> wrote: >> >>> Resubmitting now that I have been added to the Xen-devel mailing list. >>> >>> >>> >>> Kathy Hadley >>> >>> DornerWorks, Ltd. >>> >>> >>> >>> *From:* Kathy Hadley >>> *Sent:* Friday, April 16, 2010 10:14 AM >>> *To:* 'xen-devel@lists.xensource.com' >>> *Cc:* 'Keir.Fraser@citrix.com' >>> *Subject:* [Xen-Devel] [PATCH 1/1] Add .adjust_global callback >>> >>> >>> >>> This patch adds an .adjust_global scheduler callback function, which >>> allows adjusting the global scheduler parameters (rather than just one >>> domain=92s parameters). This patch supports the addition of an ARINC 6= 53 >>> scheduler (which will be submitted in a subsequent patch), and was sugg= ested >>> by George Dunlap and Keir Fraser in response to an earlier patch (ref: >>> [Xen-devel] [PATCH 1/1] Xen ARINC 653 scheduler). >>> >>> >>> >>> Thanks and regards, >>> >>> >>> >>> >>> >>> [image: cid:image001.jpg@01CAD7E0.50E45D70] >>> >>> *Kathy Hadley >>> *DornerWorks, Ltd. >>> *Embedded Systems Engineering >>> >>> *3445 Lake Eastbrook Blvd SE >>> Grand Rapids, MI 49546 >>> >>> Direct: 616.389.6127 >>> >>> Tel: 616.245.8369 >>> >>> Fax: 616.245.8372 >>> >>> >>> >>> Kathy.Hadley@DornerWorks.com >>> >>> www.DornerWorks.com >>> >>> [image: cid:image002.jpg@01CAD7E0.50E45D70] >>> >>> *Honored as one of the 2010 =93Michigan 50 Companies to Watch=94* >>> >>> >>> >>> diff -rupN a/xen/common/domctl.c b/xen/common/domctl.c >>> >>> --- a/xen/common/domctl.c 2010-04-07 12:12:06.000000000 -0400 >>> >>> +++ b/xen/common/domctl.c 2010-04-14 10:57:11.262796000 -0400 >>> >>> @@ -592,22 +592,35 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc >>> >>> >>> >>> case XEN_DOMCTL_scheduler_op: >>> >>> { >>> >>> - struct domain *d; >>> >>> - >>> >>> - ret =3D -ESRCH; >>> >>> - if ( (d =3D rcu_lock_domain_by_id(op->domain)) =3D=3D NULL ) >>> >>> - break; >>> >>> + if ( (op->u.scheduler_op.cmd =3D=3D >>> XEN_DOMCTL_SCHEDOP_put_global_info) >>> >>> + || (op->u.scheduler_op.cmd =3D=3D >>> XEN_DOMCTL_SCHEDOP_get_global_info) ) >>> >>> + { >>> >>> + ret =3D sched_adjust_global(&op->u.scheduler_op); >>> >>> + if (op->u.scheduler_op.cmd =3D=3D >>> XEN_DOMCTL_SCHEDOP_get_global_info) >>> >>> + { >>> >>> + if ( copy_to_guest(u_domctl, op, 1) ) >>> >>> + ret =3D -EFAULT; >>> >>> + } >>> >>> + } >>> >>> + else >>> >>> + { >>> >>> + struct domain *d; >>> >>> >>> >>> - ret =3D xsm_scheduler(d); >>> >>> - if ( ret ) >>> >>> - goto scheduler_op_out; >>> >>> + ret =3D -ESRCH; >>> >>> + if ( (d =3D rcu_lock_domain_by_id(op->domain)) =3D=3D NULL= ) >>> >>> + break; >>> >>> >>> >>> - ret =3D sched_adjust(d, &op->u.scheduler_op); >>> >>> - if ( copy_to_guest(u_domctl, op, 1) ) >>> >>> - ret =3D -EFAULT; >>> >>> + ret =3D xsm_scheduler(d); >>> >>> + if ( ret ) >>> >>> + goto scheduler_op_out; >>> >>> + >>> >>> + ret =3D sched_adjust(d, &op->u.scheduler_op); >>> >>> + if ( copy_to_guest(u_domctl, op, 1) ) >>> >>> + ret =3D -EFAULT; >>> >>> >>> >>> - scheduler_op_out: >>> >>> - rcu_unlock_domain(d); >>> >>> + scheduler_op_out: >>> >>> + rcu_unlock_domain(d); >>> >>> + } >>> >>> } >>> >>> break; >>> >>> >>> >>> diff -rupN a/xen/common/sched_credit.c b/xen/common/sched_credit.c >>> >>> --- a/xen/common/sched_credit.c 2010-04-07 12:12:06.000000000 >>> -0400 >>> >>> +++ b/xen/common/sched_credit.c 2010-04-13 17:30:40.710992000 >>> -0400 >>> >>> @@ -1404,6 +1404,7 @@ const struct scheduler sched_credit_def >>> >>> .wake =3D csched_vcpu_wake, >>> >>> >>> >>> .adjust =3D csched_dom_cntl, >>> >>> + .adjust_global =3D NULL, >>> >>> >>> >>> .pick_cpu =3D csched_cpu_pick, >>> >>> .do_schedule =3D csched_schedule, >>> >>> diff -rupN a/xen/common/sched_sedf.c b/xen/common/sched_sedf.c >>> >>> --- a/xen/common/sched_sedf.c 2010-04-07 12:12:06.000000000 -0400 >>> >>> +++ b/xen/common/sched_sedf.c 2010-04-13 17:30:40.710992000 >>> -0400 >>> >>> @@ -1473,6 +1473,7 @@ const struct scheduler sched_sedf_def =3D >>> >>> .sleep =3D sedf_sleep, >>> >>> .wake =3D sedf_wake, >>> >>> .adjust =3D sedf_adjust, >>> >>> + .adjust_global =3D NULL, >>> >>> }; >>> >>> >>> >>> /* >>> >>> diff -rupN a/xen/common/schedule.c b/xen/common/schedule.c >>> >>> --- a/xen/common/schedule.c 2010-04-07 12:12:06.000000000 -0400 >>> >>> +++ b/xen/common/schedule.c 2010-04-14 10:57:11.262796000 -0400 >>> >>> @@ -804,6 +804,21 @@ long sched_adjust(struct domain *d, stru >>> >>> return ret; >>> >>> } >>> >>> >>> >>> +/* Adjust scheduling parameters globally */ >>> >>> +long sched_adjust_global(struct xen_domctl_scheduler_op *op) >>> >>> +{ >>> >>> + long ret; >>> >>> + >>> >>> + if ( (op->sched_id !=3D ops.sched_id) >>> >>> + || ( (op->cmd !=3D XEN_DOMCTL_SCHEDOP_put_global_info) >>> >>> + && (op->cmd !=3D XEN_DOMCTL_SCHEDOP_get_global_info) ) ) >>> >>> + return -EINVAL; >>> >>> + >>> >>> + ret =3D SCHED_OP(adjust_global, op); >>> >>> + >>> >>> + return ret; >>> >>> +} >>> >>> + >>> >>> static void vcpu_periodic_timer_work(struct vcpu *v) >>> >>> { >>> >>> s_time_t now =3D NOW(); >>> >>> diff -rupN a/xen/include/public/domctl.h b/xen/include/public/domctl.h >>> >>> --- a/xen/include/public/domctl.h 2010-04-07 12:12:06.000000000 -0400 >>> >>> +++ b/xen/include/public/domctl.h 2010-04-14 10:57:11.262796000 >>> -0400 >>> >>> @@ -306,6 +306,8 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_max_v >>> >>> /* Set or get info? */ >>> >>> #define XEN_DOMCTL_SCHEDOP_putinfo 0 >>> >>> #define XEN_DOMCTL_SCHEDOP_getinfo 1 >>> >>> +#define XEN_DOMCTL_SCHEDOP_put_global_info 2 >>> >>> +#define XEN_DOMCTL_SCHEDOP_get_global_info 3 >>> >>> struct xen_domctl_scheduler_op { >>> >>> uint32_t sched_id; /* XEN_SCHEDULER_* */ >>> >>> uint32_t cmd; /* XEN_DOMCTL_SCHEDOP_* */ >>> >>> diff -rupN a/xen/include/xen/sched.h b/xen/include/xen/sched.h >>> >>> --- a/xen/include/xen/sched.h 2010-04-07 12:12:06.000000000 -0400 >>> >>> +++ b/xen/include/xen/sched.h 2010-04-13 17:30:40.710992000 -0400 >>> >>> @@ -472,6 +472,7 @@ void sched_destroy_vcpu(struct vcpu *v); >>> >>> int sched_init_domain(struct domain *d); >>> >>> void sched_destroy_domain(struct domain *d); >>> >>> long sched_adjust(struct domain *, struct xen_domctl_scheduler_op *); >>> >>> +long sched_adjust_global(struct xen_domctl_scheduler_op *); >>> >>> int sched_id(void); >>> >>> void sched_tick_suspend(void); >>> >>> void sched_tick_resume(void); >>> >>> diff -rupN a/xen/include/xen/sched-if.h b/xen/include/xen/sched-if.h >>> >>> --- a/xen/include/xen/sched-if.h 2010-04-07 12:12:06.000000000 -0400 >>> >>> +++ b/xen/include/xen/sched-if.h 2010-04-13 17:30:40.71099200= 0 >>> -0400 >>> >>> @@ -76,6 +76,7 @@ struct scheduler { >>> >>> int (*pick_cpu) (struct vcpu *); >>> >>> int (*adjust) (struct domain *, >>> >>> struct xen_domctl_scheduler_op *); >>> >>> + int (*adjust_global) (struct xen_domctl_scheduler_op *); >>> >>> void (*dump_settings) (void); >>> >>> void (*dump_cpu_state) (int); >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xensource.com >>> http://lists.xensource.com/xen-devel >>> >>> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >> >> > --0015174bebc4a2d4580485bc50f9 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Hmm, and it also needs to be adjusted for the new cpu pools stuff.=A0 I'= ;ll take a look at it tomorrow.
=A0-George



On Mon, May 3, 2010 at 4:50 PM, George Dunlap <George.Dunlap@eu.citri= x.com> wrote:
Also, the SCHEDOP= needs an xsm callback; but I'm not an expert enough in the xsm framewo= rk to say what it needs.

Other than that:

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>


On Mon, Apr 19, 2010 at 6:54 AM, Dulloor <d= ulloor@gmail.com> wrote:
You don't have to explicitly set adjust_global to NULL for credit and s= edf.

-dulloor

On Mon, Apr 19, 2010 at 9:39 AM, Kathy Hadley <Kathy.Hadley@do= rnerworks.com> wrote:
=

Resubmittin= g now that I have been added to the Xen-devel mailing list.

=A0<= /p>

Kathy Hadle= y

DornerWorks= , Ltd.

=A0<= /p>

From:= Kathy Hadley
Sent: Friday, April 16, 2010 10:14 AM
To: 'xen-devel@lists.xensource.com'
Cc: 'Keir.Fraser@citrix.com'
Subject: [Xen-Devel] [PATCH 1/1] Add .adjust_global callback
<= /p>

=A0

This patch adds an .adjust_global scheduler callback function, which allows adjusting the global scheduler parameters (rather th= an just one domain=92s parameters).=A0 This patch supports the addition of an ARINC 653 scheduler (which will be submitted in a subsequent patch), and= was suggested by George Dunlap and Keir Fraser in response to an earlier patch (ref: [Xen-devel] [PATCH 1/1] Xen ARINC 653 scheduler).

=A0

Thanks and regards,

=A0

=A0

3D"cid:image00=

Kathy Hadley
DornerWorks, Ltd.
Embedded Systems Engineering

3445 Lake Eastbrook Blvd SE
Grand Rapids, MI=A0 49546

Direct: 616.389.6127

Tel:=A0=A0=A0=A0=A0 616.245.8369

Fax:=A0=A0=A0=A0 616.245.8372

=A0

Kathy.Hadley@DornerWorks.com

www.DornerWorks.com

3D"cid:image002.jpg@01CAD7E0.50=

Honored as one of the 2010 =93Michigan 50 Companies to Watch=94

=A0

diff -rupN a/xen/common/domctl.c b/xen/common/domctl.c

--- a/xen/common/domctl.c=A0=A0=A0=A0=A0=A0=A0 2010-04-07 12:12:06.000000000 -0400

+++ b/xen/common/domctl.c=A0=A0=A0=A0 2010-04-14 10:57:11.262796000 -0400

@@ -592,22 +592,35 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc

=A0

=A0=A0=A0=A0 case XEN_DOMCTL_scheduler_op:

=A0=A0=A0=A0 {

-=A0=A0=A0=A0=A0=A0=A0 struct domain *d;

-

-=A0=A0=A0=A0=A0=A0=A0 ret =3D -ESRCH;

-=A0=A0=A0=A0=A0=A0=A0 if ( (d =3D rcu_lock_domain_by_id(op->domain)) =3D=3D NULL )

-=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 break;

+=A0=A0=A0=A0=A0=A0=A0 if ( (op->u.scheduler_op.cmd =3D=3D XEN_DOMCTL_SCHEDOP_put_global_info= )

+=A0=A0=A0=A0=A0=A0=A0=A0=A0 || (op->u.scheduler_op.cmd =3D=3D XEN_DOMCTL_SCHEDOP_get_global_info) = )

+=A0=A0=A0=A0=A0=A0=A0 {

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 ret =3D sched_adjust_global(&op->u.scheduler_op);

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (op->u.scheduler_op.cmd =3D=3D XEN_DOMCTL_SCHEDOP_get_global_info)<= /span>

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 {

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if ( copy_to_guest(u_domctl, op, 1) )

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0 ret =3D -EFAULT;

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 }

+=A0=A0=A0=A0=A0=A0=A0 }

+=A0=A0=A0=A0=A0=A0=A0 else

+=A0=A0=A0=A0=A0=A0=A0 {

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 struct domain *d;

=A0

-=A0=A0=A0=A0=A0=A0=A0 ret =3D xsm_scheduler(d);

-=A0=A0=A0=A0=A0=A0=A0 if ( ret )

-=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 goto scheduler_op_out;

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 ret =3D -ESRCH;

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if ( (d =3D rcu_lock_domain_by_id(op->domain)) =3D=3D NULL )

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 break;

=A0

-=A0=A0=A0=A0=A0=A0=A0 ret =3D sched_adjust(d, &op->u.scheduler_op);

-=A0=A0=A0=A0=A0=A0=A0 if ( copy_to_guest(u_domctl, op, 1) )

-=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 ret =3D -EFAULT;

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 ret =3D xsm_scheduler(d);

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if ( ret )

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 goto scheduler_op_out;

+

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 ret =3D sched_adjust(d, &op->u.scheduler_op);

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if ( copy_to_guest(u_domctl, op, 1) )

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 ret =3D -EFAULT;

=A0

-=A0=A0=A0 scheduler_op_out:

-=A0=A0=A0=A0=A0=A0=A0 rcu_unlock_domain(d);

+=A0=A0=A0=A0=A0=A0=A0 scheduler_op_out:

+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 rcu_unlock_domain(d);

+=A0=A0=A0=A0=A0=A0=A0 }

=A0=A0=A0=A0 }

=A0=A0=A0=A0 break;

=A0

diff -rupN a/xen/common/sched_credit.c b/xen/common/sched_credit.c

--- a/xen/common/sched_credit.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 2010-04-07 12:12:06.000000000 -0400

+++ b/xen/common/sched_credit.c=A0=A0=A0=A0=A0=A0=A0 2010-04-13 17:30:40.710992000 -0400

@@ -1404,6 +1404,7 @@ const struct scheduler sched_credit_def

=A0=A0=A0=A0 .wake=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =3D csched_vcpu_wake,

=A0

=A0=A0=A0=A0 .adjust=A0=A0=A0=A0=A0=A0=A0=A0 =3D csched_dom_cntl,

+=A0=A0=A0 .adjust_global=A0 =3D NULL,

=A0

=A0=A0=A0=A0 .pick_cpu=A0=A0=A0=A0=A0=A0 =3D csched_cpu_pick,

=A0=A0=A0=A0 .do_schedule=A0=A0=A0 =3D csched_schedule,

diff -rupN a/xen/common/sched_sedf.c b/xen/common/sched_sedf.c

--- a/xen/common/sched_sedf.c 2010-04-07 12:12:06.000000000 -0400

+++ b/xen/common/sched_sedf.c=A0=A0=A0=A0=A0=A0=A0=A0=A0 2010-04-13 17:30:40.710992000 -0400

@@ -1473,6 +1473,7 @@ const struct scheduler sched_sedf_def =3D

=A0=A0=A0=A0 .sleep=A0=A0=A0=A0=A0=A0=A0=A0=A0 =3D sedf_sleep,

=A0=A0=A0=A0 .wake=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =3D sedf_wake,

=A0=A0=A0=A0 .adjust=A0=A0=A0=A0=A0=A0=A0=A0 =3D sedf_adjust,

+=A0=A0=A0 .adjust_global=A0 =3D NULL,

=A0};

=A0

=A0/*

diff -rupN a/xen/common/schedule.c b/xen/common/schedule.c

--- a/xen/common/schedule.c=A0=A0=A0=A0 2010-04-07 12:12:06.000000000 -0400

+++ b/xen/common/schedule.c=A0 2010-04-14 10:57:11.262796000 -0400

@@ -804,6 +804,21 @@ long sched_adjust(struct domain *d, stru

=A0=A0=A0=A0 return ret;

=A0}

=A0

+/* Adjust scheduling parameters globally */

+long sched_adjust_global(struct xen_domctl_scheduler_op *op)

+{

+=A0=A0=A0 long ret;

+

+=A0=A0=A0 if ( (op->sched_id !=3D ops.sched_id)

+=A0=A0=A0=A0=A0 || ( (op->cmd !=3D XEN_DOMCTL_SCHEDOP_put_global_info)

+=A0=A0=A0=A0=A0=A0=A0 && (op->cmd !=3D XEN_DOMCTL_SCHEDOP_get_global_info) ) )

+=A0=A0=A0=A0=A0=A0=A0 return -EINVAL;

+

+=A0=A0=A0 ret =3D SCHED_OP(adjust_global, op);

+

+=A0=A0=A0 return ret;

+}

+

=A0static void vcpu_periodic_timer_work(struct vcpu *v)

=A0{

=A0=A0=A0=A0 s_time_t now =3D NOW();

diff -rupN a/xen/include/public/domctl.h b/xen/include/public/domctl.h<= /p>

--- a/xen/include/public/domctl.h 2010-04-07 12:12:06.000000000 -0400<= /p>

+++ b/xen/include/public/domctl.h=A0=A0=A0=A0=A0=A0=A0=A0 2010-04-14 10:57:11.262796000 -0400

@@ -306,6 +306,8 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_max_v

=A0/* Set or get info? */

=A0#define XEN_DOMCTL_SCHEDOP_putinfo 0

=A0#define XEN_DOMCTL_SCHEDOP_getinfo 1

+#define XEN_DOMCTL_SCHEDOP_put_global_info 2

+#define XEN_DOMCTL_SCHEDOP_get_global_info 3

=A0struct xen_domctl_scheduler_op {

=A0=A0=A0=A0 uint32_t sched_id;=A0 /* XEN_SCHEDULER_* */

=A0=A0=A0=A0 uint32_t cmd;=A0=A0=A0=A0=A0=A0 /* XEN_DOMCTL_SCHEDOP_* */

diff -rupN a/xen/include/xen/sched.h b/xen/include/xen/sched.h

--- a/xen/include/xen/sched.h=A0=A0=A0=A0=A0 2010-04-07 12:12:06.000000000 -0400

+++ b/xen/include/xen/sched.h=A0 2010-04-13 17:30:40.710992000 -0400

@@ -472,6 +472,7 @@ void sched_destroy_vcpu(struct vcpu *v);

=A0int=A0 sched_init_domain(struct domain *d);

=A0void sched_destroy_domain(struct domain *d);

=A0long sched_adjust(struct domain *, struct xen_domctl_scheduler_op *);

+long sched_adjust_global(struct xen_domctl_scheduler_op *);

=A0int=A0 sched_id(void);

=A0void sched_tick_suspend(void);

=A0void sched_tick_resume(void);

diff -rupN a/xen/include/xen/sched-if.h b/xen/include/xen/sched-if.h

--- a/xen/include/xen/sched-if.h=A0=A0 2010-04-07 12:12:06.000000000 -0400

+++ b/xen/include/xen/sched-if.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 2010-04-13 17:30:40.710992000 -0400

@@ -76,6 +76,7 @@ struct scheduler {

=A0=A0=A0=A0 int=A0=A0=A0=A0=A0=A0=A0=A0=A0 (*pick_cpu)=A0=A0=A0=A0=A0=A0 (struct vcpu *);

=A0=A0=A0=A0 int=A0=A0=A0=A0=A0=A0=A0=A0=A0 (*adjust)=A0=A0=A0=A0=A0=A0=A0=A0 (struct domain *,

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 struct xen_domctl_scheduler_op *);

+=A0=A0=A0 int=A0=A0=A0=A0=A0=A0=A0=A0=A0 (*adjust_global)=A0 (struct xen_domctl_scheduler_op *);

=A0=A0=A0=A0 void=A0=A0=A0=A0=A0=A0=A0=A0 (*dump_settings)=A0 (void);

=A0=A0=A0=A0 void=A0=A0=A0=A0=A0=A0=A0=A0 (*dump_cpu_state) (int);

=A0<= /p>

=A0<= /p>

=A0<= /p>

=A0

=A0


_______________________________________________
Xen-devel mailing list
Xen-deve= l@lists.xensource.com
http://l= ists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-deve= l@lists.xensource.com
http://l= ists.xensource.com/xen-devel



--0015174bebc4a2d4580485bc50f9-- --0015174bebc4a2d45d0485bc50fa Content-Type: image/jpeg; name="image002.jpg" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: 0.0.2 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABVAFIDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDrNJOm pZzXl3Ikrx52wbhuOPbuaZbeJIJ72K2vNESGKZwiuvJBPTPFYcMUaS7o0+duOOSa6a0s7fRrZdR1 THmZ/cw4yd3bA/vfypiGaraLYXgRCSjjcoPUe1WZvI0XT0nntzdXMvCQj1/+t3NYmoanLdM93MAp AGFHRRnpW74jORayryhBAP1waAIdL1W31i4exurD7FdbdybejD2plzIdPkfzYXmMR/1adX9K5LX/ ABENJki+xuPt6ZKsOfLBGDn86q+HPF8skq2mrTl2biO4c8/Rj/WsnWgp8p1RwtSVP2iR6PaXCX+i veGyFq/zDYeSMHr0qGEtJIqL1Y4qW1cf8I/Kc92/nVfTplF7FuIGTgfU1qco/VNWXS50srOyN7dl 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 miiigD//2Q== --0015174bebc4a2d45d0485bc50fa Content-Type: image/jpeg; name="image001.jpg" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: 0.0.1 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABSAGcDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwBdc1SD QLXRre10LRpBNpkErvPZKzFiOTn8Kyf+Exf/AKF7QP8AwXrU3jj/AJgP/YHt/wCRrl66YxTR5Nat UjUaTPR/D/jDwneOtvrXhvTLOQ8CdLVDGfqMZX9a6LxDoaW9oL/Q9E0W6hC7mjNijMR/eUjr9K8W rsvAfjebQbtLC+lL6bK2Pm58gnuPb1FZ1KN17uhrQxbvaYf8JGv/AEL+hf8AgvSj/hI1/wChf0L/ AMAEre8f+Go7SQazYqBbzn98q9FY9GHsf5/WuIrw6k6sJcrkeqrM2f8AhI1/6F/Qv/ABKP8AhI1/ 6F/Qv/ABKxqXk8AZNZ+3qfzDsjY/4SNf+hf0L/wASj/hI1/6F/Qv/ABKl8SeG30K30+U5P2iEebn +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 --0015174bebc4a2d45d0485bc50fa-- --===============0726564514== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --===============0726564514==--