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

[Xen-devel] ctx suddenly rises in HVM Xen Guest



Hello,

I have tested HVM XEN GUEST performance with LMbench and found a problem with 
the context switch time in guest. Following results are with CREDIT scheduler, 
but SEDF scheduler has similar results.

The context switch time will rise suddenly when the PROCESS NUMBER (in context 
switch microbenchmark) arrives a 'threshold', just like a step-function. 
Normally the 'threshold' of PROCESS NUMBER varies in the range of 35-44 (in UP 
HVM XEN guest) and 52-62 (in SMP HVM XEN guest), which is relevant to UP/SMP 
and size of processes defined by LMbench. Before the 'threshold' context switch 
time keeps a relative stable value, after threshold it also keeps a relative 
stable value. The native Linux has no such problem.

***************************************
Comparison of Test Results
'size' denotes size of processes
ProcNum denotes number of processes
***************************************
(1)
'size=0k'    
HVM XEN UP-GUEST 
3.58(ProcNum=42)
65.36(ProcNum=43) /* 'threshold' 43 */

HVM XEN SMP-Guest
29.71(ProcNum=60)           
116.86(ProcNum=61)  /* 'threshold' 61 */

(2)
'size=32k'
HVM XEN UP-GUEST 
3.01(ProcNum=37)
101.81(ProcNum=38)  /* 'threshold' 38 */

HVM XEN SMP-Guest
31.53(ProcNum=53)           
158.46(ProcNum=54)  /* 'threshold' 54 */

I profiling the TLB misses  with following configuration to see whether it is 
relevant to TLB misses or not. 
1. Count TLB misses in Dom0 when DomU running modified context switch 
microbenchmark 40 times (with only ProcNum=32, which can gurantee it has not 
arrived 'threshold')
2. Count TLB misses in Dom0 when DomU running modified context switch 
microbenchmark 40 times (with only ProcNum=64, which can gurantee it has not 
arrived 'threshold')
3. Count TLB misses in Dom0 when no ctx microbenchmark running in DomU
So the only difference between the three configurations are ProcNum and 
Running/NotRunning ctx microbenchmark in DomU.
But results show that there is no obvious difference between ProcNum=32 and 
ProcNum=64.

****************************************
TLB misses Comparison
****************************************
DTLB-misses (/second)
4387800 (ProcNum=32)  /* before 'threshold' */
4326450 (ProcNum=64)  /* after 'threshold' */
2935300 (no ctx running)

ITLB-misses (/second)
230167 (ProcNum=32)  /* before 'threshold' */
235384 (ProcNum=64)  /* after 'threshold' */
85988 (no ctx running)

****************************************
version
****************************************
Xen:xen-3.0.3-8
Dom0: 2.6.19-1.2911.6.5.fc6xen 
DomU: 2.6.22.9-61.fc6 

Tools:
lmbench-3.0-a8
oprofile 0.9.2

****************************************
CPUINFO
****************************************
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 CPU         T7400  @ 2.16GHz
stepping        : 6
cpu MHz         : 2168.220
cache size      : 4096 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush 
dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl 
vmx est tm2 ssse3 cx16 xtpr lahf_lm
bogomips        : 5422.48

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 CPU         T7400  @ 2.16GHz
stepping        : 6
cpu MHz         : 2168.220
cache size      : 4096 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush 
dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pni monitor 
ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
bogomips        : 5422.48

Can anyone explain this problem for me? Any comments/advices will be 
appreciated.
Songtao
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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