xen-devel
Re: [Xen-devel] Interrupt levels
On Wed, Mar 09, 2005 at 01:48:25PM +1300, Nicholas Lee wrote:
> On Tue, Mar 08, 2005 at 12:50:58PM -0000, Ian Pratt wrote:
> >
> > I doubt its anything to do with spinlocks, but this issue is going to be
> > much easier to figure out if it occurs on a freshly booted machine with
> > just a dom0, no xend (hence no bridge).
>
> I'll build a minimal config kernal and test it this evening.
Default kernel with the attach difference from default.
Same problem.
nic@stateless:~$ w
15:51:08 up 1 min, 1 user, load average: 0.27, 0.11, 0.03
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
nic pts/0 mdr11-port271.je 15:51 0.00s 0.00s 0.00s w
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 215176 104 15304 0 0 484 39 148476 135 3 1 92 4
0 0 0 215176 104 15304 0 0 0 0 190424 9 0 0 100 0
0 0 0 215192 104 15304 0 0 0 3 186709 12 0 0 100 0
0 0 0 215192 104 15304 0 0 0 0 190614 8 0 0 100 0
0 0 0 215192 104 15304 0 0 0 10 187672 15 0 0 100 0
0 0 0 215192 104 15304 0 0 0 0 188719 8 0 0 100 0
nic@stateless:~$ cat /proc/interrupts > interrupts.5 ; sleep 5 ; cat
/proc/interrupts > interrupts.6
nic@stateless:~$ diff -u interrupts.5 interrupts.6
--- interrupts.5 2005-03-09 16:24:22.961649499 +1300
+++ interrupts.6 2005-03-09 16:24:27.971732310 +1300
@@ -1,24 +1,24 @@
CPU0
1: 8 Phys-irq i8042
15: 11 Phys-irq ide1
- 22: 27836 Phys-irq ioc0
- 24: 31155 Phys-irq eth0
+ 22: 27846 Phys-irq ioc0
+ 24: 31214 Phys-irq eth0
128: 1 Dynamic-irq misdirect
129: 207 Dynamic-irq ctrl-if
-130: 232875313 Dynamic-irq timer
+130: 233870383 Dynamic-irq timer
131: 0 Dynamic-irq console
132: 0 Dynamic-irq net-be-dbg
133: 1397 Dynamic-irq blkif-backend
134: 439 Dynamic-irq vif6.0
135: 145 Dynamic-irq vif6.1
-136: 11591 Dynamic-irq blkif-backend
+136: 11599 Dynamic-irq blkif-backend
137: 45161 Dynamic-irq vif7.0
138: 2 Dynamic-irq vif7.1
-139: 2425 Dynamic-irq blkif-backend
+139: 2427 Dynamic-irq blkif-backend
140: 133 Dynamic-irq vif8.0
141: 33852 Dynamic-irq vif8.1
142: 1732 Dynamic-irq blkif-backend
-143: 81 Dynamic-irq vif9.0
+143: 82 Dynamic-irq vif9.0
144: 295 Dynamic-irq vif9.1
145: 1827 Dynamic-irq blkif-backend
146: 1503 Dynamic-irq vif10.0
Still 200,000 interrupts per sec.
List of default processes at run time:
ic@stateless:~$ ps awx
PID TTY STAT TIME COMMAND
1 ? S 0:00 init [2]
2 ? SN 0:00 [ksoftirqd/0]
3 ? S< 0:00 [events/0]
4 ? S< 0:00 [khelper]
15 ? S< 0:00 [kblockd/0]
92 ? S 0:00 [pdflush]
93 ? S 0:00 [pdflush]
95 ? S< 0:00 [aio/0]
94 ? S 0:00 [kswapd0]
96 ? S< 0:00 [xfslogd/0]
97 ? S< 0:00 [xfsdatad/0]
98 ? S 0:00 [xfsbufd]
681 ? S 0:00 [kseriod]
729 ? S 0:00 [xenblkd]
744 ? S< 0:00 [ata/0]
751 ? S 0:00 [scsi_eh_0]
769 ? S< 0:00 [kmirrord/0]
771 ? S 0:00 [xfssyncd]
990 ? S 0:00 [kjournald]
991 ? S 0:00 [xfssyncd]
1479 ? Ss 0:00 /sbin/syslogd
1482 ? Ss 0:00 /sbin/klogd
1512 ? Ss 0:00 /usr/sbin/exim4 -bd -q30m
1518 ? Ss 0:00 /usr/sbin/inetd
1539 ? Ss 0:00 /usr/sbin/sshd
1544 ? SLs 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid
1547 ? Ss 0:00 /usr/sbin/atd
1552 ? Ss 0:00 /usr/sbin/cron
1560 tty1 Ss+ 0:00 /sbin/getty 38400 tty1
1562 tty2 Ss+ 0:00 /sbin/getty 38400 tty2
1563 tty3 Ss+ 0:00 /sbin/getty 38400 tty3
1564 tty4 Ss+ 0:00 /sbin/getty 38400 tty4
1566 tty5 Ss+ 0:00 /sbin/getty 38400 tty5
1567 tty6 Ss+ 0:00 /sbin/getty 38400 tty6
1568 ? Ss 0:00 /bin/sh /command/svscanboot
1580 ? S 0:00 svscan /service
1581 ? S 0:00 readproctitle service errors:
.............................................................
..............
1582 ? S 0:00 supervise tinydns
1583 ? S 0:00 supervise log
1584 ? S 0:00 supervise dnscache
1585 ? S 0:00 supervise log
1586 ? S 0:00 /usr/bin/dnscache
1587 ? S 0:00 multilog t ./main
1589 ? S 0:00 /usr/bin/tinydns
1588 ? S 0:00 multilog t ./main
1590 ? Ss 0:00 sshd: nic [priv]
1592 ? S 0:00 sshd: nic [priv]
1594 ? S 0:00 sshd: nic@pts/0
1595 pts/0 Ss 0:00 -bash
1600 pts/0 R+ 0:00 ps awx
Modules:
nic@stateless:~$ lsmod
Module Size Used by
ip_tables 17024 0
nic@stateless:~$ sudo rmmod ip_tables
Password:
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 215056 104 15484 0 0 339 30 159736 100 2 1 94 3
0 0 0 215056 104 15484 0 0 0 0 186941 11 0 0 100 0
0 0 0 215056 104 15484 0 0 0 0 188010 8 0 0 100 0
0 0 0 215064 104 15484 0 0 0 8 188835 11 0 0 100 0
The main differences are XFS and the MPT driver. Testing the kernel
without XFS would be difficult, as root is formated with XFS.
IP Tables is pretty much required for obvious reasons. (Console and XFRD
listening by default on *:.)
One other piece of hardware info. This machine is currently only UP. I
was intending to add a second processor at some later stage.
With Xen running and writting this message. (This is my mail host.)
nic@stateless:~/sys/iptables$ 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 159072 172 56692 0 0 219 44 18568 83 1 1 97 1
0 0 0 159072 172 56692 0 0 0 22 200525 25 0 0 100 0
0 0 0 159096 172 56692 0 0 0 18 198147 29 0 0 100 0
0 0 0 159096 172 56692 0 0 0 40 194533 29 0 0 100 0
0 0 0 159096 172 56692 0 0 0 78 202158 17 0 0 100 0
0 0 0 159096 172 56692 0 0 0 0 198422 30 0 0 100 0
0 0 0 159160 172 56692 0 0 0 13 197980 24 0 0 100 0
..
Same intr level, additional context switches as you'd expect with
multiple hosts/processes running.
However, it does seem like I've remove the "Badness in local_bh_enable"
problem. At least it hasn't flooded the logs at all.
Nicholas
defconfig.diff
Description: Text document
|
|
|