xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: Meng Xu <mengxu@cis.upenn.edu>
Cc: ian.campbell@citrix.com, xisisu@gmail.com,
	stefano.stabellini@eu.citrix.com, george.dunlap@eu.citrix.com,
	ian.jackson@eu.citrix.com, xen-devel@lists.xen.org,
	xumengpanda@gmail.com, lichong659@gmail.com,
	dgolomb@seas.upenn.edu
Subject: Re: [PATCH RFC v1 3/4] libxl for rt scheduler
Date: Fri, 11 Jul 2014 17:08:49 +0200	[thread overview]
Message-ID: <1405091329.29306.464.camel@Solace> (raw)
In-Reply-To: <1405054198-29106-4-git-send-email-mengxu@cis.upenn.edu>


[-- Attachment #1.1: Type: text/plain, Size: 2218 bytes --]

On ven, 2014-07-11 at 00:49 -0400, Meng Xu wrote:

> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c

> +static int sched_rt_domain_get(libxl__gc *gc, uint32_t domid,
> +                               libxl_domain_sched_params *scinfo)
> +{
> +    struct xen_domctl_sched_rt_params sdom;
> +    int rc, i;
> +
> +    rc = xc_sched_rt_domain_get(CTX->xch, domid, &sdom);
> +    if (rc != 0) {
> +        LOGE(ERROR, "getting domain sched rt");
> +        return ERROR_FAIL;
> +    }
> +
> +    libxl_domain_sched_params_init(scinfo);
> +    scinfo->sched = LIBXL_SCHEDULER_RT;
> +    scinfo->rt.max_vcpus = LIBXL_XEN_LEGACY_MAX_VCPUS;
> +    /*TODO: alloc array with exact num of dom's vcpus; and use GCNEW_ARRAY()*/
>
Indeed. That, or just do an hypercall for each VCPU, at least as a first
step.

> +    scinfo->rt.vcpus = (libxl_vcpu *)
> +                    malloc( sizeof(libxl_vcpu) * scinfo->rt.max_vcpus );
>
Yes, you said it yourself, I see: GCNEW_ARRAY() and no malloc() in
libxl.

> +    if ( !scinfo->rt.vcpus ){
> +        LOGE(ERROR, "Allocate lib_vcpu array fails\n");
> +        return ERROR_INVAL;
> +    }
> +    scinfo->rt.num_vcpus = sdom.num_vcpus;
> +    for( i = 0; i < sdom.num_vcpus; ++i)
> +    {
> +        scinfo->rt.vcpus[i].period = sdom.vcpus[i].period;
> +        scinfo->rt.vcpus[i].budget = sdom.vcpus[i].budget;
> +    }
> +
> +    return 0;
> +}
> +
> +#define SCHED_RT_VCPU_PARAMS_MAX    4294967295 /* 2^32-1 */
> +
I don't like the name. I'd go for something like
SCHED_RT_VCPU_PERIOD_MAX and SCHED_RT_VCPU_BUDGET_MAX.

You well can define both to the same value, of course.

As per the value, yes, even if we turn the interface in usecs, 2^32
usecs is still ~4000 secs, which ought to be enough as a period or
budget for everyone! :-)

For the rest of this file, I think I'll wait for v2, as the interface is
subject to be changed.

Regards,
Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  parent reply	other threads:[~2014-07-11 15:08 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-11  4:49 Introduce rt real-time scheduler for Xen Meng Xu
2014-07-11  4:49 ` [PATCH RFC v1 1/4] rt: Add rt scheduler to hypervisor Meng Xu
2014-07-11 14:27   ` Dario Faggioli
2014-07-11 14:37   ` Andrew Cooper
2014-07-11 15:21     ` Dario Faggioli
2014-07-11 15:40       ` Andrew Cooper
2014-07-11 15:48         ` Dario Faggioli
2014-07-16 17:05           ` Konrad Rzeszutek Wilk
2014-07-17 10:12             ` Meng Xu
2014-07-17 15:12               ` Dario Faggioli
2014-07-18  5:46                 ` Meng Xu
2014-07-18 18:40               ` Konrad Rzeszutek Wilk
2014-07-11  4:49 ` [PATCH RFC v1 2/4] xl for rt scheduler Meng Xu
2014-07-11 11:02   ` Wei Liu
2014-07-11 14:59     ` Meng Xu
2014-07-11 15:07       ` Dario Faggioli
2014-07-11 16:25         ` Meng Xu
2014-07-13 12:58         ` Meng Xu
2014-07-14  7:40           ` Dario Faggioli
2014-07-14  9:31           ` Wei Liu
2014-07-17 15:39           ` Ian Campbell
2014-07-11  4:49 ` [PATCH RFC v1 3/4] libxl " Meng Xu
2014-07-11 11:05   ` Wei Liu
2014-07-11 15:08   ` Dario Faggioli [this message]
2014-07-12 18:16     ` Meng Xu
2014-07-14 10:38       ` Dario Faggioli
2014-07-17 15:34     ` Ian Campbell
2014-07-17 15:36   ` Ian Campbell
2014-07-18 11:05     ` Meng Xu
2014-07-11  4:49 ` [PATCH RFC v1 4/4] libxc " Meng Xu
2014-07-11 14:49   ` Dario Faggioli
2014-07-11 16:23     ` Meng Xu
2014-07-11 16:35       ` Dario Faggioli
2014-07-11 16:49         ` Andrew Cooper
2014-07-12 19:46         ` Meng Xu
2014-07-17 15:29     ` Ian Campbell
2014-07-17 15:34       ` George Dunlap
2014-07-17 22:16         ` Meng Xu
2014-07-18  9:49           ` Dario Faggioli
2014-07-18  9:51           ` Ian Campbell
2014-07-18 12:11             ` Meng Xu
2014-07-18  9:47         ` Ian Campbell
2014-07-18 10:00           ` Dario Faggioli
2014-07-11 10:50 ` Introduce rt real-time scheduler for Xen Wei Liu
2014-07-11 11:06   ` Dario Faggioli
2014-07-11 16:14     ` Meng Xu
2014-07-11 16:19 ` Dario Faggioli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1405091329.29306.464.camel@Solace \
    --to=dario.faggioli@citrix.com \
    --cc=dgolomb@seas.upenn.edu \
    --cc=george.dunlap@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=lichong659@gmail.com \
    --cc=mengxu@cis.upenn.edu \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=xisisu@gmail.com \
    --cc=xumengpanda@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).