On Thu, Mar 17, 2016 at 12:06 PM, Tianyang Chen <ti...@seas.upenn.edu> wrote:
> The current RTDS code has several problems:
>  - the scheduler, although the algorithm is event driven by
>    nature, follows a time driven model (is invoked periodically!),
>    making the code look 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;
>
> This patch separates budget replenishment and enforcement. It does that
> by handling the former with a dedicated timer, and a queue of pending
> replenishment events.
>
> A replenishment queue has been added to keep track of all vcpus that
> are runnable.
>
> We also make sure that the main scheduling function is called when a
> scheduling decision is necessary, such as when the currently running
> vcpu runs out of budget.
>
> Finally, when waking up a vcpu, it is now enough to tickle the various
> CPUs appropriately, like all other schedulers also do.
>
> Signed-off-by: Tianyang Chen <ti...@seas.upenn.edu>
> Signed-off-by: Meng Xu <men...@cis.upenn.edu>
> Signed-off-by: Dagaen Golomb <dgol...@seas.upenn.edu>

Great job, Tianyang! Thanks for your effort on this! :-D
Let's grab some drink during the weekend.

Reviewed-by: Meng Xu <men...@cis.upenn.edu>

Cheers,

Meng

-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

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

Reply via email to