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

RE: [Xen-devel] planned csched improvements?

>From: Jan Beulich [mailto:JBeulich@xxxxxxxxxx] 
>Sent: 2009年10月12日 15:28
>>>> "Tian, Kevin" <kevin.tian@xxxxxxxxx> 10.10.09 10:03 >>>
>>>From: Jan Beulich
>>>On a lightly loaded many-core non-hyperthreaded system (e.g. a single
>>>CPU bound process in one VM, and only some background load 
>>>I see this CPU bound vCPU permanently switch between 
>sockets, which is
>>>a result of csched_cpu_pick() eagerly moving vCPU-s to "more idle"
>>>sockets. It would seem that some minimal latency 
>consideration might be
>>>useful to get added here, so that a very brief interruption 
>by another
>>>vCPU doesn't result in unnecessary migration.
>>there's a migration delay (default is 1ms) to judge cache hotness and
>>thus avoid unnecessary migration. However so far it's only checked 
>>when one cpu wants to steal vcpus from other runqueue. Possibly it
>>makes sense to add this check to csched_vcpu_acct, as a cold cache
>>and cascade of other VCPU migrations could easily beat benefit on a 
>>"more idle" socket.
>Where do you see this 1ms delay - I can't seem to spot it...

Sorry, that's default value in my memory. However taking a look at
code doesn't give it.

 * Delay, in microseconds, between migrations of a VCPU between PCPUs.
 * This prevents rapid fluttering of a VCPU between CPUs, and reduces the
 * implicit overheads such as cache-warming. 1ms (1000) has been measured
 * as a good value.
static unsigned int vcpu_migration_delay;
integer_param("vcpu_migration_delay", vcpu_migration_delay);

It's just the comment saying that. You may try to add that boot option 
for a try. :-)

Xen-devel mailing list



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