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

Re: [Xen-users] 99% iowait on one core in 8 core processor



Here is my "cat /proc/interrupts" output

           CPU0              CPU1              CPU2              CPU3           
   CPU4              CPU5              CPU6              CPU7              
  1:          8          0          0          0          0          0          
0          0        Phys-irq  i8042
  8:          0          0          0          0          0          0          
0          0        Phys-irq  rtc
  9:          0          0          0          0          0          0          
0          0        Phys-irq  acpi
 12:        105          0          0          0          0          0          
0          0        Phys-irq  i8042
 17:          0          0          0          0          0          0          
0          0        Phys-irq  uhci_hcd:usb3
 18:          0          0          0          0          0          0          
0          0        Phys-irq  ehci_hcd:usb1, uhci_hcd:usb8
 19:         89          0          0          0          0          0          
0          0        Phys-irq  ehci_hcd:usb2, uhci_hcd:usb6
 20:          0          0          0          0          0          0          
0          0        Phys-irq  uhci_hcd:usb4
 21:          0          0          0          0          0          0          
0          0        Phys-irq  uhci_hcd:usb5, uhci_hcd:usb7
 22:   80057205          0          0          0          0          0      
40990     149827        Phys-irq  aacraid
248:   45804593          0          0          0          0          0          
0        223        Phys-irq  peth0
249:          0          0          0          0          0          0          
0          0        Phys-irq  ahci
256:   34539669          0          0          0          0          0          
0          0     Dynamic-irq  timer0
257:   41413620          0          0          0          0          0          
0          0     Dynamic-irq  resched0
258:         85          0          0          0          0          0          
0          0     Dynamic-irq  callfunc0
259:          0   41166287          0          0          0          0          
0          0     Dynamic-irq  resched1
260:          0        933          0          0          0          0          
0          0     Dynamic-irq  callfunc1
261:          0   19504489          0          0          0          0          
0          0     Dynamic-irq  timer1
262:          0          0   31251343          0          0          0          
0          0     Dynamic-irq  resched2
263:          0          0        932          0          0          0          
0          0     Dynamic-irq  callfunc2
264:          0          0   11054510          0          0          0          
0          0     Dynamic-irq  timer2
265:          0          0          0   27386916          0          0          
0          0     Dynamic-irq  resched3
266:          0          0          0        932          0          0          
0          0     Dynamic-irq  callfunc3
267:          0          0          0   11444950          0          0          
0          0     Dynamic-irq  timer3
268:          0          0          0          0   58130277          0          
0          0     Dynamic-irq  resched4
269:          0          0          0          0        910          0          
0          0     Dynamic-irq  callfunc4
270:          0          0          0          0   28261822          0          
0          0     Dynamic-irq  timer4
271:          0          0          0          0          0   43997038          
0          0     Dynamic-irq  resched5
272:          0          0          0          0          0        923          
0          0     Dynamic-irq  callfunc5
273:          0          0          0          0          0   15338193          
0          0     Dynamic-irq  timer5
274:          0          0          0          0          0          0   
48900209          0     Dynamic-irq  resched6
275:          0          0          0          0          0          0        
923          0     Dynamic-irq  callfunc6
276:          0          0          0          0          0          0   
15407236          0     Dynamic-irq  timer6
277:          0          0          0          0          0          0          
0   50136483     Dynamic-irq  resched7
278:          0          0          0          0          0          0          
0        900     Dynamic-irq  callfunc7
279:          0          0          0          0          0          0          
0   16601995     Dynamic-irq  timer7
280:      15653       3318          8          0          0          0          
0          0     Dynamic-irq  xenbus
281:          0          0          0          0          0          0          
0          0     Dynamic-irq  console
282:     148849     101244      11648       8306       5326       2336        
220         93     Dynamic-irq  blkif-backend
283:          6          0          0          0          0          0          
0          0     Dynamic-irq  blkif-backend
284:      65895      47506      23079      29645      23784      11350        
246        147     Dynamic-irq  vif1.0
285:    1863994     691202      63261      36091      15258       4937        
437        193     Dynamic-irq  blkif-backend
286:     213220     119178       7103       5451       2557        517         
19          0     Dynamic-irq  blkif-backend
287:     930007     387710      35444      16389      11486       4540        
198        229     Dynamic-irq  vif19.0
288:     635545     409092      69409      40913      24484       8576        
741        136     Dynamic-irq  blkif-backend
289:    7137631    1115254     173115      71776      29668      12043       
1008       2289     Dynamic-irq  blkif-backend
290:      31508      30372      21679      16886       8057       2840         
74        252     Dynamic-irq  vif3.0
291:       5246      16885      29753      36947      28554      12073        
406          1     Dynamic-irq  vif4.0
292:      47906      36257       8923      10614       7908       2954          
3          6     Dynamic-irq  blkif-backend
293:          1          0          0          0          0          0          
0          0     Dynamic-irq  blkif-backend
294:      17554      15779      10298      10228       7353       4006        
114         58     Dynamic-irq  blkif-backend
295:         23          0          0          0          0          0          
0          0     Dynamic-irq  blkif-backend
296:      21802      13356      19719      24348      19953       8304        
113          0     Dynamic-irq  vif5.0
297:     273660     179974      15464       8548       4237       1913         
21         34     Dynamic-irq  blkif-backend
298:          3          0          0          0          0          0          
0          0     Dynamic-irq  blkif-backend
299:    7652040    1568396     290845     170934      76196      35670       
3622       4062     Dynamic-irq  vif6.0
300:     329614     141967      17636       4723       2181        696         
43         48     Dynamic-irq  blkif-backend
301:     183112      77217       7104       4301       2413        257          
0          2     Dynamic-irq  blkif-backend
302:     328166     181810      18838       8180       4534       1045        
256        108     Dynamic-irq  vif7.0
303:     166185     117000      16767      12453      10239       4296         
96         16     Dynamic-irq  blkif-backend
304:         18          0          0          0          0          0          
0          0     Dynamic-irq  blkif-backend
305:      74460      48748       4299       2838       1670        592         
47         18     Dynamic-irq  blkif-backend
306:         17          0          0          0          0          0          
0          0     Dynamic-irq  blkif-backend
307:     849646     410362      42829      20108      18286       2718        
147         73     Dynamic-irq  blkif-backend
308:       3031       4122        413        118        280          1          
0          0     Dynamic-irq  blkif-backend
309:     454672     211984      11278      13235       4483       1949        
106        307     Dynamic-irq  blkif-backend
310:         54          2          0          0          1          0          
0          0     Dynamic-irq  blkif-backend
311:     151460     100790      10438       8542       3677       1836        
130         91     Dynamic-irq  blkif-backend
312:         17          0          0          0          0          0          
0          0     Dynamic-irq  blkif-backend
313:     289222     147029      13023       6293       3359        997         
32         38     Dynamic-irq  blkif-backend
314:      15919      13241        297        219         45         67          
1        234     Dynamic-irq  blkif-backend
315:     171629     139277      11409       8646       6430       2920         
82        170     Dynamic-irq  vif17.0
316:    1684637     884290      70555      43332      22190       6997       
1874       2528     Dynamic-irq  vif20.0
317:    5997001    1669698     253862     124739      53491      14573       
3931       2018     Dynamic-irq  vif13.0
318:     196460     112218       7607       4688       3110        959        
203        283     Dynamic-irq  vif18.0
319:      70632      50590      19755      22438      18394       7733        
336        156     Dynamic-irq  vif14.0
320:     430659     270256      20899      13806       7980       2998        
260        146     Dynamic-irq  vif15.0
NMI:          0          0          0          0          0          0          
0          0 
LOC:          0          0          0          0          0          0          
0          0 
ERR:          0

Also here are few smp_affinity values

root@hiox-vps ~]# cat /proc/irq/316/smp_affinity 
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000004
[root@hiox-vps ~]# cat /proc/irq/316/smp_affinity 
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000004
[root@hiox-vps ~]# cat /proc/irq/312/smp_affinity 
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
[root@hiox-vps ~]# cat /proc/irq/317/smp_affinity 
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000002
[root@hiox-vps ~]# cat /proc/irq/318/smp_affinity 
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000002
[root@hiox-vps ~]# cat /proc/irq/300/smp_affinity 
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000002
[root@hiox-vps ~]# cat /proc/irq/260/smp_affinity 
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000002



On 13-Jul-2012, at 1:44 PM, Matthias wrote:

> Some updates:
> 
> - Deactivating CONFIg_HOTPlUG_CPU and suspend to ram in kernel didn'T
> change anything.
> - I tried to change the smp_affinity to just a single other cpu and
> this worked. So basically I was wrong that there is something changing
> the settings back constantly but linux is simply discarding every
> assignment to more then one cpu (1,2,4, etc works, 3,5,etc is
> discarded)
> 
> so the problem is that my linux can not assign irqs to multiple cpus.
> I think this is also why irqbalance does not make a difference because
> it tries the same.
> 
> I will check if i can reproduce this behaviour with a stock kernel
> without xen or if this is really xen related in the evening. But if
> you have any other idea what could cause this, I'm open for
> suggestions
> 
> @Rajesh can you check with your setup if you have the same case or if
> this is a different problem? simply do a 'cat /proc/interrupts' to
> check the cpu affinity and if everything is done on cpu0 try a 'echo
> "3" > /proc/irq/<some irq number from the other command>/smp_affinity'
> and afterwards check if the smp_affinity now really has '3' as
> content.
> 
> 2012/7/13 Matthias <matthias.kannenberg@xxxxxxxxxxxxxx>:
>> Found a hint somewhere that my problem might be related to the
>> CONFIG_HOTPLUG_CPU kernel option.. recompiling the kernel right now and will
>> update tomorrow if this resolved the issue..
>> 
>> Am 13.07.2012 00:27 schrieb "Matthias" <matthias.kannenberg@xxxxxxxxxxxxxx>:
>> 
>>> Hi Ian,
>>> 
>>> sorry, but it's still not working..
>>> 
>>> I rebooted the server, then manually started irqbalanced just to be
>>> sure, then started xen and the domUs.. still the same as above: every
>>> I/O related is done by cpu0 (even after hours of running 5 domUs). i
>>> see some spikes on the other cpu's, but i think this is due to domUs
>>> using their assigned vcpus and xentop shows a distribution of cputime,
>>> too..
>>> 
>>> I started irqbalance in debug modus once and it complained that my
>>> hardware is not numa compatible. Might this be an issue? From what I
>>> read, xen should support proper scheduling on non-numa hardware and
>>> only the numa-support is new and might be a bit quirky..
>>> 
>>> checked my smp_affinity stuff then: currently, it shows the following for
>>> a domU
>>> smp_affinity: 01
>>> smp_affinity_list: 0
>>> 
>>> tried to change smp_affinity to 3f (=111111 for my 6vcpu) and it was
>>> changed immediately back to 01.. thought that was irqbalance going
>>> rogue but after stopd the deamon, this still happens..
>>> 
>>> so my take is: something is setting the irq to only use cpu0 and
>>> changes i do manually or which are done by irqbalance are overwritten
>>> constantly making irqbalance useless..
>>> 
>>> Any idea what this can be? supposently something within xen?
>>> 
>>> 
>>> 
>>> 2012/7/12 Ian Campbell <ian.campbell@xxxxxxxxxx>:
>>>> On Thu, 2012-07-12 at 13:04 -0400, Matthias wrote:
>>>>> 
>>>>> Any other idea how we can make xen utilize the other (v)cpus for it's
>>>>> I/O stuff?
>>>> 
>>>> Are you sure irqbalanced is running? Some versions had a bug and would
>>>> crash on a Xen system (they crash if there is no irq 0 or something like
>>>> that). Even if it is running it can take some time for irqbalanced to
>>>> realise that things are unbalanced and start moving stuff around.
>>>> 
>>>> There are ways in Linux to manually balance IRQs. You have to much
>>>> around with /proc/irq/*/smp_affinity*
>>>> 
>>>> Really irqbalanced should be doing this for you though.
>>>> 
>>>> Ian.
>>>> 
>>>> 


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users


 


Rackspace

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