On 10/24/08 14:09, Somenath Bandyopadhyay wrote:
> with intrsta I see only cpu#6 is getting interrupted...
> 
> device |      cpu0 %tim      cpu1 %tim      cpu2 %tim      cpu3 %tim      
> cpu4 %tim      cpu5 %tim      cpu6 %tim
> -------------+---------------------------------------------------------------------------------------------------------
>        asy#0 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      0  0.0         0  0.0         0  0.0
>        ata#0 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      0  0.0         0  0.0         0  0.0
>        bnx#0 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      0  0.0         0  0.0       161  0.1
>        bnx#1 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      0  0.0         0  0.0       161  0.0
>        bnx#2 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      0  0.0         0  0.0       161  0.0
>        bnx#3 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      0  0.0         0  0.0       161  0.0
>       ehci#0 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      6  0.0         0  0.0         0  0.0
>        mfi#0 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      0  0.0         0  0.0         0  0.0
>       uhci#0 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      6  0.0         0  0.0         0  0.0
>       uhci#1 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      0  0.0         1  0.0         0  0.0
>       uhci#2 |         0  0.0         0  0.0         0  0.0         0  0.0    
>      6  0.0         0  0.0         0  0.0
> 
> with mpstat (watch intr and ithr) shows all cpus getting interrupted but 
> interrupt threads running on cpu#6 making it >90% busy!

It would be interesting to see the output under load.

I am not familar with bnx, so if the output above is under load,
something doesn't match with the data below. The sum of 4x161 should be
somewhat close to the number of interrupts in mpstat below.

I also understand that crosscalls also generate interrupts, so that 
would explain why all CPUs have such high counts. Crosscalls suggest 
cache invalidation, so I do wonder whether psets for the user processes 
might help. Can't do that for NFS workload. Is the below output for NFS 
(since there is virtually no usr time)?

You might want to tune via the bnx.conf file, looking at the tunables
focusing on receive segments per interrupt. Also, maybe more buffers if
you increase the segments per interrupt, so you don't run out.

I noticed that the comments for the default values and the actual values
don't match. If you follow the suggestions from others to place a
service call, you may want to include that as well.

Steffen

PS. what type of system is this?

> CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl
>   0    0   0 30585 39533  239 2961   43  376  332    0   586    0  38   0  62
>   1    0   0 36700 37833    0 2685   28  363  260    0   673    1  39   0  60
>   2    0   0 59668 33989  101 1162   11   67  638    0  1062    1  49   0  50
>   3    0   0 63068 33893    0 1156   12   44  376    0  1143    0  50   0  50
>   4    0   0 28862 38099    3  564    4   23  269    0   529    0  37   0  63
>   5    0   0 20677 39201    1  411    4   20  207    0   377    1  30   0  69
>   6    0   0 3480 47606 5717   67   14    7  513    0   119    0  92   0   8
>   7    0   0 51324 35368    0 1076    3   42  277    0   901    0  42   0  58
> --
> This message posted from opensolaris.org
> _______________________________________________
> networking-discuss mailing list
> [email protected]


_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to