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

Re: [Xen-devel] [PATCH v9]xen: sched: convert RTDS from time to event driven model





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