[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [BUG] unfairness in Xen's credit scheduler
create ^ title it credit: sysctl doesn't update other parameter when setting tslice_ms thanks On Mon, Sep 2, 2013 at 10:54 AM, <lwcheng@xxxxxxxxx> wrote: > Hi all, > > Since Xen 4.2.0, users can change time slice of the scheduler at > runtime via xl command line, a very nice feature. However, it is > not *correctly* implemented. > > Problem description > -------------------- > say you set the 'cap' of one VM to 50 (a half core), > -when setting the time slice to be *greater* than 30ms, the VM gets > much *less* CPU cycles than its allocation > -when setting the time slice to be *smaller* than 30ms, the VM gets > much *more* CPU cycles than its allocation > > > Problem happens in sched_credit.c/csched_sys_cntl(): > -------------------- > after changing prv->tslice_ms, other parameters *should* also be > changed accordingly: > > csched_sys_cntl() { > ... > prv->tslice_ms = params->tslice_ms; > prv->ratelimit_us = params->ratelimit_us; > ------- > /* my patch: these parameters should also be changed */ > prv->ticks_per_tslice = CSCHED_TICKS_PER_TSLICE; > if ( prv->tslice_ms < prv->ticks_per_tslice ) > prv->ticks_per_tslice = 1; > prv->tick_period_us = prv->tslice_ms * 1000 / prv->ticks_per_tslice; > prv->credits_per_tslice = CSCHED_CREDITS_PER_MSEC * prv->tslice_ms; > ------- > ... > } > > Particularly, [prv->credits_per_tslice] is very important to maintain > the *fairness* of credit allocation in csched_acct(). > > This bug has been there since Xen-4.2.0. > > Thanks, > CHENG Luwei > -- > PhD student > Department of Computer Science > The University of Hong Kong > Homepage: http://www.cs.hku.hk/~lwcheng > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |