xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Tianyang Chen <tiche@seas.upenn.edu>
To: xen-devel@lists.xenproject.org
Cc: dario.faggioli@citrix.com, Tianyang Chen <tiche@seas.upenn.edu>,
	george.dunlap@citrix.com, Dagaen Golomb <dgolomb@seas.upenn.edu>,
	Meng Xu <mengxu@cis.upenn.edu>
Subject: [PATCH v3 0/1] xen: sched: convert RTDS from time to event driven model
Date: Thu, 21 Jan 2016 23:06:33 -0500	[thread overview]
Message-ID: <1453435594-4407-1-git-send-email-tiche@seas.upenn.edu> (raw)

Current RTDS scheduler is time driven and is called every 1ms. 
During each scheduler call, the repl_update() scans both runq 
and depeletedq, which might not be necessary every 1ms.

Since each vcpu is implemented as a deferable server, budget is 
preserved during its period and refilled in the next. It is not 
necessary to check every 1ms as the current design does. The 
replenishment is needed at the nearest next period(nearest 
current_deadline) of all runnable vcpus.

This improved design tries to reduce scheduler invocation by 
using an event driven approach;rt_schedule() will return a value 
when the scheduler needs to be called next time. In addition, 
the sched_rt will have one dedicated timer to handle replenishment 
when necessary. In other words, the budget replenishment and 
scheduler decision(rt_schedule) are separated. 

The transient behavior should be noted. It happens between a vcpu 
tickles and a pcpu actually picks it. As previous discussions, this 
is unavoidable.

Previous discussions:
http://lists.xenproject.org/archives/html/xen-devel/2015-06/msg02629.html

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>

Tianyang Chen (1):
  xen: sched: convert RTDS from time to event driven model

 xen/common/sched_rt.c |  291 ++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 213 insertions(+), 78 deletions(-)

-- 
1.7.9.5

             reply	other threads:[~2016-01-22  4:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-22  4:06 Tianyang Chen [this message]
2016-01-22  4:06 ` [PATCH v3 1/1] xen: sched: convert RTDS from time to event driven model Tianyang Chen
2016-01-22  4:31   ` Tianyang Chen
2016-01-22 13:34   ` Dario Faggioli
2016-01-22 14:41     ` 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:
  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=1453435594-4407-1-git-send-email-tiche@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 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).