[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH -v3 1/1] ratelimit: Implement rate limit for credit2 scheduler Rate limit assures that a vcpu will execute for a minimum amount of time before being put at the back of a queue or being preempted by higher priority thread.
On 26/07/16 17:21, Dario Faggioli wrote: > On Mon, 2016-07-25 at 17:12 +0100, Anshul Makkar wrote: >> It introduces context-switch rate-limiting. The patch enables the VM >> to batch >> its work and prevents the system from spending most of its time in >> context >> switches because of a VM that is waking/sleeping at high rate. >> >> ratelimit can be disabled by setting it to 0. >> > Thanks Anshul. I've looked at the patch, and it seemed all right to me. > > I decided to build and test it, and I've seem something that I found > weird. > > But first of all, one thing that I'm sorry I'm mentioning now > (especially considering it was quite evident! :-/). > > The subject, which will become the "title" of the commit, is way too > long. That must be a very concise headline of what the patch is about, > and should also have tags, specifying what areas of the codebase are > affected. So what do you think of this: > > xen: credit2: implement context switch rate-limiting. It looks like it's just missing a carrage return -- I could fix that up on check-in. > > On a more technical side, I think that... > >> @@ -2116,9 +2147,22 @@ csched2_runtime(const struct scheduler *ops, >> int cpu, struct csched2_vcpu *snext >> * 1) Run until snext's credit will be 0 >> * 2) But if someone is waiting, run until snext's credit is >> equal >> * to his >> - * 3) But never run longer than MAX_TIMER or shorter than >> MIN_TIMER. >> + * 3) But never run longer than MAX_TIMER or shorter than >> MIN_TIMER or >> + * the ratelimit time. >> */ >> >> + /* Calculate mintime */ >> + min_time = CSCHED2_MIN_TIMER; >> + if ( prv->ratelimit_us ) >> + { >> + s_time_t ratelimit_min = prv->ratelimit_us; >> > ... this should be: > > s_time_t ratelimit_min = MICROSECS(prv->ratelimit_us); > > I realized that by looking at traces and seeing entries for which > CSCHED2_MIN_TIMER was being returned, even if I had set > sched_ratelimit_us to a value greater than that. Yes, Dario is correct here. There's also a small typo in one of the comments ("onw" instead of "own"). With all those changed: Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxx> If Anshul and Dario are happy, I can fix all those thing up on commit. -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |