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

Re: [Xen-devel] [PATCH v1 1/4] xen: add real time scheduler rt



Hi Jan,


2014-08-29 5:05 GMT-04:00 Jan Beulich <JBeulich@xxxxxxxx>:
>>> On 28.08.14 at 18:06, <xumengpanda@xxxxxxxxx> wrote:
> âAs to your concern "I still don't see why such wouldn't be
> applicable uniformly to all schedulers."â, are you suggesting that the
> credit and credit2 scheduler could also allow users to set/get each VCPU's
> parameters? (I think that could be possible but this should be some design
> decision made by credit and credit2 scheduler developer?)

Perhaps. But I think a more uniform interface to the individual
schedulers would help on the tools side too. But in the end I'm
just raising questions/concerns here, it's George who needs to
be okay with your approach.

âThank you very much for your questions and suggestions!Â

BTW, the ARINC653 scheduler in Xen also specifies each VCPU's parameters. It's just FYI. :-)

InÂxen/include/public/sysctl.h, it specifies each vcpu's parameter in sched_entries array.

/*

Â* This structure is used to pass a new ARINC653 schedule from a

Â* privileged domain (ie dom0) to Xen.

Â*/

struct xen_sysctl_arinc653_schedule {

  /* major_frame holds the time for the new schedule's major frame

ÂÂ Â * in nanoseconds. */

  uint64_aligned_t   major_frame;

  /* num_sched_entries holds how many of the entries in the

ÂÂ Â * sched_entries[] array are valid. */

  uint8_t   num_sched_entries;

  /* The sched_entries array holds the actual schedule entries. */

  struct {

    /* dom_handle must match a domain's UUID */

    xen_domain_handle_t dom_handle;

    /* If a domain has multiple VCPUs, vcpu_id specifies which one

ÂÂ Â Â Â * this schedule entry applies to. It should be set to 0 if

ÂÂ Â Â Â * there is only one VCPU for the domain. */

    unsigned int vcpu_id;

    /* runtime specifies the amount of time that should be allocated

ÂÂ Â Â Â * to this VCPU per major frame. It is specified in nanoseconds */

    uint64_aligned_t runtime;

  } sched_entries[ARINC653_MAX_DOMAINS_PER_SCHEDULE];

};

Â

>> I think anything going into the seconds, not to speak of minutes or
>> hours, range is already beyond boundaries of being reasonable /
>> useful.
>
> âHmm, that's fair. If we want to limit the range to seconds, then uint32 is
> enough. However, what if some user really want to set the period/budget to
> hours/days? Then we couldn't support it if we use uint32 type for
> period/budget. (This is just my subtle concern. I'm not arguing that we
> have to use uint64 or uint32. As long as everyone agrees with a type, I can
> just change it to the agreed type very quickly.) Do you have any suggestion
> of how we can reach an agreement and get the range finalized? â

Let's see what others, mainly George and Dario, think.

âSure! Thanks!

Mengâ


--


-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
_______________________________________________
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®.