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

Re: [Xen-devel] [PATCH v1 3/4] libxl: add rt scheduler



Hi George and Dario,


2014-09-04 11:55 GMT-04:00 George Dunlap <George.Dunlap@xxxxxxxxxxxxx>:
On Thu, Sep 4, 2014 at 4:44 PM, Dario Faggioli
<dario.faggioli@xxxxxxxxxx> wrote:
> On gio, 2014-09-04 at 11:07 -0400, Meng Xu wrote:
>
>> 2014-09-04 10:51 GMT-04:00 George Dunlap
>> <george.dunlap@xxxxxxxxxxxxx>:
>>Â Â Â Â ÂOn 09/04/2014 03:47 PM, Meng Xu wrote:
>>
>>Â Â Â Â Â> Hi George,
>>Â Â Â Â Â>
>>Â Â Â Â Â>
>>Â Â Â Â Â> 2014-09-04 10:27 GMT-04:00 George Dunlap
>>Â Â Â Â Â> <George.Dunlap@xxxxxxxxxxxxx>:
>>Â Â Â Â Â>Â Â Â Â ÂOn Wed, Sep 3, 2014 at 4:33 PM, George Dunlap
>>Â Â Â Â Â>Â Â Â Â Â<George.Dunlap@xxxxxxxxxxxxx> wrote:
>>Â Â Â Â Â>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â Â> While the domctl interface is not stable, the
>>Â Â Â Â Â>Â Â Â Â Âlibxl interface *is*
>>Â Â Â Â Â>Â Â Â Â Â> stable, so we definitely need to think carefully
>>Â Â Â Â Â>Â Â Â Â Âabout what we want
>>Â Â Â Â Â>Â Â Â Â Â> this to look like.
>>Â Â Â Â Â>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â Â> Let me give that a think. :-)
>>Â Â Â Â Â>
>>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â ÂOK, so we had a chat about this at our team meeting
>>Â Â Â Â Â>Â Â Â Â Âtoday, and here is
>>Â Â Â Â Â>Â Â Â Â Âwhat we came up with.
>>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â ÂThe feature freeze for 4.5 is next Wednesday.
>>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â ÂThe core scheduler is in good enough shape to be
>>Â Â Â Â Â>Â Â Â Â Âchecked in as an
>>Â Â Â Â Â>Â Â Â Â Â"experimental" mode, so it would be really nice to
>>Â Â Â Â Â>Â Â Â Â Âbe able to get this
>>Â Â Â Â Â>Â Â Â Â Âchecked in.
>>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â ÂThe DOMCTL interface isn't stable so we can change
>>Â Â Â Â Â>Â Â Â Â Âthat if we need to;
>>Â Â Â Â Â>Â Â Â Â Âhowever, the libxl interface *is* stable.
>>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â ÂThe current libxl scheduler parameter interface
>>Â Â Â Â Â>Â Â Â Â Âassumes one set of
>>Â Â Â Â Â>Â Â Â Â Âparameters per domain; it's not yet setup for
>>    Â>    Âper-vcpu parameters. It
>>Â Â Â Â Â>Â Â Â Â Âis unlikely that we would be able to converge on a
>>Â Â Â Â Â>Â Â Â Â Ânew interface by
>>Â Â Â Â Â>Â Â Â Â Ânext week.
>>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â ÂSo the suggestion was this: For the moment, use the
>>Â Â Â Â Â>Â Â Â Â Âexisting libxl
>>    Â>    Âinterface on a per-domain basis. Internally, this
>>Â Â Â Â Â>Â Â Â Â Âwill set all vcpus
>>    Â>    Âto the same values. This will allow us to check in
>>Â Â Â Â Â>Â Â Â Â Âa useable version
>>Â Â Â Â Â>Â Â Â Â Âof the scheduler for people to test and improve.
>>Â Â Â Â Â>Â Â Â Â ÂThen for 4.6 we can
>>Â Â Â Â Â>Â Â Â Â Âstart working on a suitable libxl interface for
>>Â Â Â Â Â>Â Â Â Â Âsetting per-vcpu
>>Â Â Â Â Â>Â Â Â Â Âscheduling parameters.
>>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â ÂDario / Ian, did I miss anything?
>>Â Â Â Â Â>
>>Â Â Â Â Â>Â Â Â Â ÂMeng / &c, does that sound reasonable?
>>Â Â Â Â Â>
>>Â Â Â Â Â>
>>Â Â Â Â Â> I have a question as to the user interface.
>>Â Â Â Â Â> For 4.5, we only allow users to set all vcpus to the same
>>Â Â Â Â Â> values (I'm totally fine with it.);
>>Â Â Â Â Â> But how about the get function? When users issue the command
>>Â Â Â Â Â> "xl sched-rt", how should we display the parameters of
>>Â Â Â Â Â> vcpus? We just give the "period", "budget" and "#VCPU" for a
>>Â Â Â Â Â> domain? I'm fine with this display for 4.5.
>>Â Â Â Â Â>
>>Â Â Â Â Â>
>>Â Â Â Â Â> However ,my concerns is: In 4.6, when we allow vcpus to have
>>Â Â Â Â Â> different parameters and need to display every vcpu's
>>Â Â Â Â Â> parameters, how should we display when users use command "xl
>>Â Â Â Â Â> sched-rt"? When vcpus have different period and budget, we
>>Â Â Â Â Â> cannot display like what we did in 4.5 then. :-(
>>Â Â Â Â Â>
>>Â Â Â Â Â>
>>Â Â Â Â Â> It's just my thought, just in case we neglect it. :-)
>>
>>
>>Â Â Â Â ÂI think the xl interface doesn't have quite the same
>>    Âconsistency guarantees as the libxl interface. For now, I
>>Â Â Â Â Âthink just make it print one budget / period for the domain;
>>Â Â Â Â Âand we can change it later.
>>
>>
>>
>>
>> I see. I'm totally ok with the decision! :-)
>> So I will only use the existing libxl interface without adding an
>> array to it, to set/get the vcpus' parameters of a domain. Am I right?
>>
> Yep, no array. You just add a 'period' and a 'budget' fields _inside_
> libxl_domain_sched_params, without putting them inside any wrapping
> struct, union or array.

Except that you don't need to add a "period" field, since there's
already one there (for the SEDF scheduler).

We could re-use the "slice" field instead of adding "budget", but I
think probably for clarity adding "budget" is better (although I'm
open to other opinions on that one).

âI like the idea of adding "budget" because it's much clearer. â

âAs to other implementation details, I think I got it and will do that now. :-)â

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