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

Re: [Xen-devel] [PATCH v3 for Xen 4.6 1/4] xen: enable per-VCPU parameter settings for RTDS scheduler



>>> On 07.07.15 at 16:55, <dario.faggioli@xxxxxxxxxx> wrote:
> So, Jan, just to be sure, do you mean (apart from the explicit padding)
> something like this (attached, also)?
> 
> diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
> index bc45ea5..8210ecb 100644
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -330,31 +330,56 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_max_vcpus_t);
>  #define XEN_SCHEDULER_ARINC653 7
>  #define XEN_SCHEDULER_RTDS     8
>  
> +struct xen_domctl_sched_sedf {
> +    uint64_aligned_t period;
> +    uint64_aligned_t slice;
> +    uint64_aligned_t latency;
> +    uint32_t extratime;
> +    uint32_t weight;
> +};
> +
> +struct xen_domctl_sched_credit {
> +    uint16_t weight;
> +    uint16_t cap;
> +};
> +
> +struct xen_domctl_sched_credit2 {
> +    uint16_t weight;
> +};
> +
> +struct xen_domctl_sched_rtds {
> +    uint32_t period;
> +    uint32_t budget;
> +};
> +
> +typedef struct xen_domctl_schedparam_vcpu {
> +    union {
> +        struct xen_domctl_sched_sedf sedf;
> +        struct xen_domctl_sched_credit credit;
> +        struct xen_domctl_sched_credit2 credit2;
> +        struct xen_domctl_sched_rtds rtds;
> +    } s;
> +    uint16_t vcpuid;
> +} xen_domctl_schedparam_vcpu_t;
> +DEFINE_XEN_GUEST_HANDLE(xen_domctl_schedparam_vcpu_t);
> +
>  /* Set or get info? */
>  #define XEN_DOMCTL_SCHEDOP_putinfo 0
>  #define XEN_DOMCTL_SCHEDOP_getinfo 1
> +#define XEN_DOMCTL_SCHEDOP_putvcpuinfo 2
> +#define XEN_DOMCTL_SCHEDOP_getvcpuinfo 3
>  struct xen_domctl_scheduler_op {
>      uint32_t sched_id;  /* XEN_SCHEDULER_* */
>      uint32_t cmd;       /* XEN_DOMCTL_SCHEDOP_* */
>      union {
> -        struct xen_domctl_sched_sedf {
> -            uint64_aligned_t period;
> -            uint64_aligned_t slice;
> -            uint64_aligned_t latency;
> -            uint32_t extratime;
> -            uint32_t weight;
> -        } sedf;
> -        struct xen_domctl_sched_credit {
> -            uint16_t weight;
> -            uint16_t cap;
> -        } credit;
> -        struct xen_domctl_sched_credit2 {
> -            uint16_t weight;
> -        } credit2;
> -        struct xen_domctl_sched_rtds {
> -            uint32_t period;
> -            uint32_t budget;
> -        } rtds;
> +        struct xen_domctl_sched_sedf sedf;
> +        struct xen_domctl_sched_credit credit;
> +        struct xen_domctl_sched_credit2 credit2;
> +        struct xen_domctl_sched_rtds rtds;
> +        struct {
> +            XEN_GUEST_HANDLE_64(xen_domctl_schedparam_vcpu_t) vcpus;
> +            uint16_t nr_vcpus;
> +        } v;
>      } u;
>  };
>  typedef struct xen_domctl_scheduler_op xen_domctl_scheduler_op_t;

Yes.

Jan


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