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

Re: [Xen-devel] [PATCH] sched_rt: Improved nested virtualization performance

2015-11-18 22:50 GMT-05:00 Tianyang Chen <tianyangpenn@xxxxxxxxx>:
> In nested virtualization, choosing the smaller value for the
> time slice between the MAX_SCHEDULE and the budget will cause
> high host CPU usage.

Just add one comment:
I also experienced this issue when I develop Xen in a virtual box on
MacBook Air.

The root problem is not the returned time slice in rt_schedule(). The
root problem is that the CPU speed for Xen in nested virtualization is
not constant, which breaks the budget accounting in the RTDS
scheduler, which assumes that the RTDS scheduler runs on homogenous

I'm not sure if we should always return the MAX_SCHEDULE as the time
slice.  A VCPU may have a little bit more budget (< 1ms) than it is
assigned on native machine if we always return MAX_SCHEDULE.

What do you think, Dario? Do you think the nested virtualization
situation is a concern right now?

> Signed-off-by: Tianyang Chen <tianyangpenn@xxxxxxxxx>
> ---
>  xen/common/sched_rt.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c
> index 4372486..9da3f35 100644
> --- a/xen/common/sched_rt.c
> +++ b/xen/common/sched_rt.c
> @@ -889,7 +889,7 @@ rt_schedule(const struct scheduler *ops, s_time_t now, 
> bool_t tasklet_work_sched
>          }
>      }
> -    ret.time = MIN(snext->budget, MAX_SCHEDULE); /* sched quantum */
> +    ret.time = MAX_SCHEDULE; /*should be used in nested virtualization*/
>      ret.task = snext->vcpu;

The comment for this line should not be changed. The new comment
should be in the commit message since this is the explanation of the
whole patch.



Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.