From: "Chen, Tianyang" <tiche@seas.upenn.edu>
To: Dario Faggioli <dario.faggioli@citrix.com>,
xen-devel@lists.xenproject.org
Cc: george.dunlap@citrix.com, Dagaen Golomb <dgolomb@seas.upenn.edu>,
Meng Xu <mengxu@cis.upenn.edu>
Subject: Re: [PATCH v9]xen: sched: convert RTDS from time to event driven model
Date: Wed, 16 Mar 2016 11:43:47 -0400 [thread overview]
Message-ID: <56E97F33.2000905@seas.upenn.edu> (raw)
In-Reply-To: <1458138307.3102.901.camel@citrix.com>
On 03/16/2016 10:25 AM, Dario Faggioli wrote:
> Ok, it's about time that we deal with this changelog!
>
> On Mon, 2016-03-14 at 20:04 -0400, Tianyang Chen wrote:
>> Budget replenishment and enforcement are separated by adding
>> a replenishment timer, which fires at the next most imminent
>> release time of all runnable vcpus.
>>
> First of all, state (quickly) the "problems". So, right now:
> - the scheduler, although the algorithm is event driven by nature,
> follow a time driven model (is invoked periodically!), making the
> code looks unnatural;
> - budget replenishment logic, budget enforcement logic and scheduling
> decisions are mixed and entangled, making the code hard to
> understand;
> - the various queues of vcpus are scanned various times, making the
> code inefficient;
>
> Then describe your solution. The first sentence you've got up above is
> ok...
>
>> A replenishment queue has been added to keep track of all vcpus that
>> are runnable.
>>
> ...and this one too.
>
>> The following functions have major changes to manage the
>> replenishment
>> events and timer.
>>
>> repl_handler(): It is a timer handler which is re-programmed
>> to fire at the nearest vcpu deadline to replenish vcpus.
>>
>> rt_schedule(): picks the highest runnable vcpu based on cpu
>> affinity and ret.time will be passed to schedule(). If an idle
>> vcpu is picked, -1 is returned to avoid busy-waiting. repl_update()
>> has been removed.
>>
>> rt_vcpu_wake(): when a vcpu wakes up, it tickles instead of
>> picking one from the run queue.
>>
>> rt_context_saved(): when context switching is finished, the
>> preempted vcpu will be put back into the runq.
>>
> This is too detailed for a changelog. If you want this information to
> live somewhere (it already lives in the list archives, actually), make
> a cover letter (this is just one patch, so it's not required, but
> nothing forbids that). Or put it in a wiki page. Or write a blog post.
> Or (which would be kind of nice) all of them! :-)
>
I was thinking about this as well. The wiki will look a bit outdated for
RTDS if this patch goes through. Meng: Do you think we should put extra
information in the wiki? Someone's gotta update it sooner or later.
Thanks for the review Dario. I will put everything together soon.
Tianyang
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-03-16 15:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-15 0:04 [PATCH v9]xen: sched: convert RTDS from time to event driven model Tianyang Chen
2016-03-16 3:11 ` Meng Xu
2016-03-16 3:32 ` Chen, Tianyang
2016-03-16 3:40 ` Meng Xu
2016-03-16 10:23 ` Dario Faggioli
2016-03-16 14:20 ` Meng Xu
2016-03-16 14:44 ` Dario Faggioli
2016-03-16 20:51 ` Meng Xu
2016-03-16 14:25 ` Dario Faggioli
2016-03-16 15:43 ` Chen, Tianyang [this message]
2016-03-16 16:11 ` Dario Faggioli
2016-03-16 20:54 ` Meng Xu
2016-03-16 20:45 ` Meng Xu
2016-03-17 2:24 ` Chen, Tianyang
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=56E97F33.2000905@seas.upenn.edu \
--to=tiche@seas.upenn.edu \
--cc=dario.faggioli@citrix.com \
--cc=dgolomb@seas.upenn.edu \
--cc=george.dunlap@citrix.com \
--cc=mengxu@cis.upenn.edu \
--cc=xen-devel@lists.xenproject.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.