xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: Tianyang Chen <tiche@seas.upenn.edu>, 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 v11]xen: sched: convert RTDS from time to event driven model
Date: Thu, 17 Mar 2016 19:27:39 +0100	[thread overview]
Message-ID: <1458239259.15374.67.camel@citrix.com> (raw)
In-Reply-To: <1458230814-4317-1-git-send-email-tiche@seas.upenn.edu>

[-- Attachment #1.1: Type: text/plain, Size: 2295 bytes --]

On Thu, 2016-03-17 at 12:06 -0400, Tianyang Chen 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 <tiche@seas.upenn.edu>
> Signed-off-by: Meng Xu <mengxu@cis.upenn.edu>
> Signed-off-by: Dagaen Golomb <dgolomb@seas.upenn.edu>
You seem to have taken care of all my remaining comments to v10, so the
patch is:

Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>

(which you could have put there yourself, as I said. :-))

Thanks for all the good work.

If I can already point you to something else that can be improved
further in this scheduler, _completely_ independently from this, and
hence in a fully new patch (series), can you have a look at whether we
really need set_bit(), test_and_clear(), etc, instead of __set_bit(),
__test_and_clear(), etc.?

I'm asking because I'm under the impression that the latter are enough,
and if that is the case, we should go for them, as they're more

Thanks again and Regards,
<<This happens because I choose it to happen!>> (Raistlin Majere)
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

Xen-devel mailing list

  reply	other threads:[~2016-03-17 18:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-17 16:06 [PATCH v11]xen: sched: convert RTDS from time to event driven model Tianyang Chen
2016-03-17 18:27 ` Dario Faggioli [this message]
2016-03-17 20:12   ` Chen, Tianyang
2016-03-18  1:45     ` Meng Xu
2016-03-18  4:09 ` Meng Xu
2016-03-18  7:45   ` Jan Beulich
2016-03-18  9:23     ` Dario Faggioli
2016-03-18 14:23       ` Meng Xu
2016-03-18 14:19     ` Meng Xu
2016-03-18  9:24   ` Dario Faggioli
2016-03-18 14:25 ` Meng Xu

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1458239259.15374.67.camel@citrix.com \
    --to=dario.faggioli@citrix.com \
    --cc=dgolomb@seas.upenn.edu \
    --cc=george.dunlap@citrix.com \
    --cc=mengxu@cis.upenn.edu \
    --cc=tiche@seas.upenn.edu \
    --cc=xen-devel@lists.xenproject.org \


* 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).