WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Interrupt levels

I was thinking about it this morning, thinking that interrupts coming
from the MPT control would probably have an affect on disk IO, and thus
a very noticable affect on system performace. Then I realised maybe the
other no standard config item that comes up at boot was a second bridge.


Unfortunately I had to wait until this afternoon so I could get into the
colo, and my DSL link is down at the moment.

nic@stateless:~$ vmstat 3
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 2  0      0   4312    200  85008    0    0    10    13  412    17  0  0 100  0
 0  0      0   4312    200  85008    0    0     0     0 196987    14  0  0 100  0

nic@stateless:~$ sudo ifdown internal-br
nic@stateless:~$ vmstat 3
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 2  0      0   4776    200  85012    0    0    10    13  455    17  0  0 100  0
 0  0      0   4776    200  85012    0    0     0    51   48    26  0  0 100  0
 0  0      0   4776    200  85012    0    0     0     0   40    14  0  0 100  0




The exact problem is 'bridge hello time' being set to zero.

When I when I switch between '0' and '1' hello time via:

auto internal-br
iface internal-br inet static
        address 10.8.0.254
        netmask 255.255.0.0
        network 10.8.0.0
        broadcast 10.8.255.255
        bridge_ports eth1
        bridge_fd 0
        bridge_hello 1
        bridge_stp off

load switches:

nic@stateless:~$ sudo vi /etc/network/interfaces
[1]+  Stopped                 sudo vi /etc/network/interfaces
nic@stateless:~$ sudo ifup internal-br

Waiting for internal-br to get ready (MAXWAIT is 2 seconds).
nic@stateless:~$ vmstat 3
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 2  0      0   5504    176  84000    0    0    10    13    0    17  0  0 100  0
 0  0      0   5520    176  84000    0    0     0     4 176557    17  0  0 100  0
 0  0      0   5520    176  84000    0    0     0    60 171743    28  0  0 100  0

nic@stateless:~$ sudo ifdown internal-br
nic@stateless:~$ fg
[1]+  Stopped                 sudo vi /etc/network/interfaces
nic@stateless:~$ sudo ifup internal-br

Waiting for internal-br to get ready (MAXWAIT is 2 seconds).
nic@stateless:~$ vmstat 3
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 2  0      0   5504    176  84012    0    0    10    13   43    17  0  0 100  0
 0  0      0   5528    176  84012    0    0     0     0   68    13  0  0 100  0
 0  0      0   5544    176  84012    0    0     0    13   71    15  0  0 100  0


vmstat with some load on the machine. (Guest running mutt loading folder
via imap/nfs.)

nic@stateless:~/sys/xen$ vmstat 3
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 2  0      0   9088    208  84740    0    0    12    14   43    18  0  0 100  0
 0  0      0   9088    208  84740    0    0   527    47  949   403  0  0 100  0
 0  0      0   9096    208  84740    0    0   561     1  913   408  0  1 99  0
 0  0      0   9096    208  84740    0    0   536    15  982   402  0  1 99  0
 0  0      0   9104    208  84740    0    0   659    37  941   309  0  3 97  0
 0  0      0   9040    208  84740    0    0  2679    68 2163   412  0  3 97  0
 0  0      0   9040    208  84740    0    0  2751     5 2178   403  0  2 98  0
 0  0      0   8912    208  84740    0    0  3020    31 2389   387  0  3 97  0
 0  0      0   8912    208  84740    0    0  3592    43 3125   906  0  1 99  0
 0  0      0   8912    208  84740    0    0  2427   201 1909   356  0  3 97  0
 0  0      0   8912    208  84740    0    0  1157    89 1279   327  0  4 96  0
 0  0      0   8912    208  84740    0    0   124   497  415   128  0  3 97  0
 0  0      0   8912    208  84740    0    0     0   605  542   244  0  7 93  0
 0  0      0   8912    208  84740    0    0     0    82  415   114  0  3 97  0
 0  0      0   8912    208  84740    0    0     0   395 2596    43  0 19 81  0

Idle:

nic@stateless:~$ vmstat 3
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0      0   7832    208  84748    0    0    13    14   45    18  0  0 100  0
 0  0      0   7832    208  84748    0    0     0    12   68    24  0  0 100  0
 0  0      0   7840    208  84748    0    0     0     3   61    15  0  0 100  0
 0  0      0   7840    208  84748    0    0     0     0   64    12  0  0 100  0



For completeness:
nic@stateless:~$ dmesg  | grep eth1
eth1: Tigon3 [partno(BCM95703A30) rev 1002 PHY(5703)] (PCIX:100MHz:64-bit) 
10/100/1000BaseT Ethernet 00:0d:60:d5:66:6d
eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] Split[0] WireSpeed[1] TSOcap[1]
device eth1 entered promiscuous mode
device eth1 left promiscuous mode
internal-br: port 1(eth1) entering disabled state
device eth1 entered promiscuous mode


Note, I used a hello time of 0 with UML on a standard host kernel. [1]
Although I never noticed this level of interrupts previously. 

xen-br0 seems to default to non-zero hello time:

nic@stateless:/proc/sys$ sudo brctl showstp xen-br0
xen-br0
 bridge id              8000.000d60d5666c
 designated root        8000.000d60d5666c
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay             0.00                 bridge forward delay       0.00
 ageing time             300.00
 hello timer               1.22                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  62.60
 flags


internal-br0 with hello set to 1 is:

nic@stateless:/proc/sys$ sudo brctl showstp internal-br
internal-br
 bridge id              8000.000d60d5666d
 designated root        8000.000d60d5666d
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                1.00                 bridge hello time          1.00
 forward delay             0.00                 bridge forward delay       0.00
 ageing time             300.00
 hello timer               0.44                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  36.98
 flags



After discovered, I figrued it wasn't worth trying the LiveCD.

[1] Settings I've used for UML come from
http://edeca.net/articles/bridging/create-bridge.html

Nicholas


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel