Vcpu flags are checked and cleared atomically. Performance can be
improved with corresponding non-atomic versions since schedule.c
already has spin_locks in place.
Signed-off-by: Tianyang Chen
---
Changes since v1:
-none
---
xen/common/sched_rt.c | 16
1 file changed, 8
?do=post_view_threaded#431251
Tianyang Chen (2):
xen: sched: rtds code clean-up
xen: sched: rtds: use non-atomic bit-ops
xen/common/sched_rt.c | 106 ++---
1 file changed, 56 insertions(+), 50 deletions(-)
--
1.7.9.5
No functional change:
-aligned comments in rt_vcpu struct
-removed double underscores from the names of some functions
-fixed coding sytle for control structures involving lists
-fixed typos in the comments
-added comments for UPDATE_LIMIT_SHIFT
Signed-off-by: Tianyang Chen
---
Changes
Vcpu flags are checked and cleared atomically. Performance can be
improved with corresponding non-atomic versions since schedule.c
already has spin_locks in place.
Signed-off-by: Tianyang Chen
---
xen/common/sched_rt.c | 16
1 file changed, 8 insertions(+), 8 deletions
No functional change:
-Various coding style fix
-Added comments for UPDATE_LIMIT_SHIFT.
Signed-off-by: Tianyang Chen
---
xen/common/sched_rt.c | 106 ++---
1 file changed, 56 insertions(+), 50 deletions(-)
diff --git a/xen/common/sched_rt.c b/xen
schedule.c.
Discussions:
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01528.html
http://www.gossamer-threads.com/lists/xen/devel/431251?do=post_view_threaded#431251
Tianyang Chen (2):
xen: sched: rtds refactor code
xen: sched: rtds: use non-atomic bit-ops
xen/common
: Dario Faggioli
Signed-off-by: Tianyang Chen
---
xen/common/sched_rt.c | 122 ++---
1 file changed, 64 insertions(+), 58 deletions(-)
diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c
index 7f8f411..1a18f6d 100644
--- a/xen/common/sched_rt.c
tickles various vcpus appropriately,
like all other schedulers do.
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
changes since v9:
Re-worded some of the comments
Fixed the wrong returned value from rt_schedule().
changes since v8:
Replaced
enough to tickle the various
CPUs appropriately, like all other schedulers also do.
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
changes since v10:
Re-worded commit messages.
Moved helper macros to where they belong.
changes since v9:
Re-worded
)
}>
program_timer()
[spin_lock]
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
changes since v8:
Replaced spin_lock_irqsave with spin_lock_irq.
Bug fix in burn_budget() where budget == 0.
Removed unnecessary tickling in the timer hand
)
}>
program_timer()
[spin_lock]
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
changes since v7:
Coding sytle.
Added a flag to indicate that a vcpu was depleted.
Added a local list including updated vcpus in the
timer handler. It is u
)
}>
program_timer()
[spin_lock]
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
changes since v6:
Removed unnecessary vcpu_on_q() checks for runq_insert()
Renamed replenishment queue related functions without
undersco
On 2/26/2016 4:11 AM, Dario Faggioli wrote:
It looks like the current code doesn't add a vcpu to the
replenishment
queue when vcpu_insert() is called. When the scheduler is
initialized,
all the vcpus are added to the replenishment queue after waking up
from
sleep. This needs to be changed (add
RFC means request for comments and it
should always be used because indeed, I'm asking for comments.
On Thu, 2016-02-25 at 15:05 -0500, Tianyang Chen wrote:
changes since v5:
removed unnecessary vcpu_on_replq() checks
deadline_queue_insert() returns a flag to indicate if it'
FTIRQ
replenishment_timer_handler()
[spin_lock]
{
replenish(i)
runq_tickle(i)
}>
program_timer()
[spin_lock]
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
xen/common/sched_rt.
On 2/25/2016 5:34 AM, Dario Faggioli wrote:
+ * it should be re-inserted back to the replenishment queue.
+ */
+if ( now >= svc->cur_deadline)
+{
+rt_update_deadline(now, svc);
+__replq_remove(ops, svc);
+}
+
+if( !__vcpu_on_replq(svc) )
+__replq_
On 2/24/2016 9:02 PM, Dario Faggioli wrote:
Hey,
Here I am, sorry for the delay. :-(
No problem, I think we are almost there.
On Mon, 2016-02-08 at 23:33 -0500, Tianyang Chen wrote:
Changes since v4:
removed unnecessary replenishment queue checks in vcpu_wake()
extended
Hey Dario: We are aiming for the next release and would appreciate it if
you can leave some comments on this version. Thanks.
Tianyang
On 2/8/2016 11:33 PM, Tianyang Chen wrote:
Changes since v4:
removed unnecessary replenishment queue checks in vcpu_wake()
extended replq_remove
On 2/15/2016 10:55 PM, Meng Xu wrote:
Hi Tianyang,
Thanks for the patch! Great work and really quick action! :-)
I will just comment on something I quickly find out and would look
forwarding to Dario's comment.
On Mon, Feb 8, 2016 at 11:33 PM, Tianyang Chen mailto:ti...@seas.upen
:
removed running queue.
added repl queue to keep track of repl events.
timer is now per scheduler.
timer is init on a valid cpu in a cpupool.
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
xen/common/sched_rt.c | 337
On 2/8/2016 6:27 AM, Dario Faggioli wrote:
On Fri, 2016-02-05 at 23:27 -0500, Tianyang Chen wrote:
On 2/5/2016 9:39 AM, Dario Faggioli wrote:
On Wed, 2016-02-03 at 21:23 -0500, Tianyang Chen wrote:
I see. So I'm just curious what can cause spurious wakeup? Does it
only
happen
On 2/5/2016 9:39 AM, Dario Faggioli wrote:
On Wed, 2016-02-03 at 21:23 -0500, Tianyang Chen wrote:
On 2/3/2016 7:39 AM, Dario Faggioli wrote:
On Tue, 2016-02-02 at 13:09 -0500, Tianyang Chen wrote:
So what do we do, we raise the *_delayed_runq_add flag and continue
and
leave the vcpu
On 2/3/2016 7:39 AM, Dario Faggioli wrote:
On Tue, 2016-02-02 at 13:09 -0500, Tianyang Chen wrote:
On 2/2/2016 10:08 AM, Dario Faggioli wrote:
On Sun, 2016-01-31 at 23:32 -0500, Tianyang Chen wrote:
+struct rt_private *prv = rt_priv(ops);
+struct list_head *replq = rt_replq(ops
On 2/2/2016 3:29 AM, Dario Faggioli wrote:
On Tue, 2016-02-02 at 01:18 -0500, Tianyang Chen wrote:
The following script caused an unresponsive dom0 and it can not be
reproduced all the time. The dom0 is using credit2 scheduler.
#!/bin/bash
xl cpupool-list -c
xl cpupool-cpu-remove Pool-0 3
xl
On 2/2/2016 10:08 AM, Dario Faggioli wrote:
On Sun, 2016-01-31 at 23:32 -0500, Tianyang Chen wrote:
v4 is meant for discussion on the addition of replq.
In which cases, you should always put something like RFC in the
subject, so people knows what the intent is even by just skimming their
re a series
of alloc() and free() are called. And indeed at the last free_pdata(),
the assertion fails.
Both of them happen on 4.7 unstable, git:2e46e3f
Any idea on this is appreciated.
--
Tianyang Chen
Xen 4.7-unstable
(XEN) Xen version 4.7-unstable (root@) (gcc (Ubuntu/Linaro 4.6.3-1ubuntu5)
removed from a
pool and added to another, the lock equality assert in free_pdata()
fails when Pool-0 is using rtds.
This patch is based on master branch after commit 2e46e3
x86/mce: fix misleading indentation in init_nonfatal_mce_checker()
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
On 1/26/2016 12:28 PM, Meng Xu wrote:
Hi Dario and Tianyang,
On Tue, Jan 26, 2016 at 9:06 AM, Dario Faggioli
wrote:
On Mon, 2016-01-25 at 18:00 -0500, Meng Xu wrote:
On Mon, Jan 25, 2016 at 5:04 PM, Tianyang Chen
wrote:
I have removed some of the Ccs so they won't get bothered
I have removed some of the Ccs so they won't get bothered as we
discussed previously.
On 1/25/2016 4:00 AM, Dario Faggioli wrote:
On Thu, 2015-12-31 at 05:20 -0500, Tianyang Chen wrote:
@@ -147,6 +148,16 @@ static unsigned int nr_rt_ops;
* Global lock is referenc
On 1/21/2016 11:06 PM, 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.
A new runningq has been added to keep track of all vcpus that
are on pcpus.
The following
)
}>
program_timer()
[spin_lock]
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
xen/common/sched_rt.c | 291 -
1 file changed, 213 insertions(+), 78 deletions(-)
diff --git a/xen/common/sched_rt.c b/xen/com
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
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
Tianyang Chen
On 1/18/2016 11:07 AM, Meng Xu wrote:
On Mon, Jan 18, 2016 at 6:00 AM, Dario Faggioli
wrote:
On Mon, 2016-01-18 at 10:47 +, George Dunlap wrote:
On Fri, Jan 15, 2016 at 1:04 AM, Tianyang Chen
If an idle vcpu is picked, the ret.time is set accordingly in both
credit
and credit2 by
On 1/15/2016 10:33 AM, Meng Xu wrote:
On Wed, Jan 6, 2016 at 2:57 AM, Tianyang Chen wrote:
On 12/31/2015 8:44 AM, Meng Xu wrote:
On Thu, Dec 31, 2015 at 6:20 PM, Tianyang Chen wrote:
Budget replenishment is now handled by a dedicated timer which is
triggered at the most imminent
nd the scheduler would be invoked
again. What is the logic behind this?
I'd appreciate it if anyone could point me to the right direction.
Thanks,
Tianyang Chen
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
On 12/31/2015 8:44 AM, Meng Xu wrote:
On Thu, Dec 31, 2015 at 6:20 PM, Tianyang Chen wrote:
Budget replenishment is now handled by a dedicated timer which is
triggered at the most imminent release time of all runnable vcpus.
Changes since V1:
None
Signed-off-by: Tianyang Chen
Signed
On 1/4/2016 9:36 AM, Dario Faggioli wrote:
On Mon, 2016-01-04 at 21:48 +0800, Meng Xu wrote:
On Mon, Jan 4, 2016 at 7:42 PM, Ian Campbell
wrote:
On Thu, 2015-12-31 at 04:45 -0500, Tianyang Chen wrote:
Budget replenishment is now handled by a dedicated timer which is
triggered at the most
Budget replenishment is now handled by a dedicated timer which is
triggered at the most imminent release time of all runnable vcpus.
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
-cover-letter.patch| 16 +++
0001-Improved-RTDS
Budget replenishment is now handled by a dedicated timer which is
triggered at the most imminent release time of all runnable vcpus.
Changes since V1:
None
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
---
xen/common/sched_rt.c | 159
is unavoidable.
Previous discussions:
http://lists.xenproject.org/archives/html/xen-devel/2015-06/msg02629.html
Signed-off-by: Tianyang Chen
Signed-off-by: Meng Xu
Signed-off-by: Dagaen Golomb
*** BLURB HERE ***
Tianyang Chen (1):
Improved RTDS scheduler
-cover-letter.patch
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
Signed-off-by: Meng Xu
Signed-off-by: Dagaen
In nested virtualization, choosing the smaller value for the
time slice between the MAX_SCHEDULE and the budget will cause
high host CPU usage.
Signed-off-by: Tianyang Chen
---
xen/common/sched_rt.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xen/common/sched_rt.c b
42 matches
Mail list logo