From: Nicholas Lee <nic-lists@plumtree.co.nz>
To: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>,
xen-devel@lists.sourceforge.net, ian.pratt@cl.cam.ac.uk
Subject: Re: Interrupt levels
Date: Wed, 9 Mar 2005 16:32:15 +1300 [thread overview]
Message-ID: <20050309033210.GA344@plumtree.co.nz> (raw)
In-Reply-To: <20050309004822.GF587@plumtree.co.nz>
[-- Attachment #1: Type: text/plain, Size: 7347 bytes --]
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
[-- Attachment #2: defconfig.diff --]
[-- Type: text/plain, Size: 2119 bytes --]
--- ../linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig 2005-02-25 06:13:34.916737000 +1300
+++ .config 2005-03-09 16:13:59.521510091 +1300
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.10-rc3-xen0
-# Sun Dec 26 10:34:29 2004
+# Linux kernel version: 2.6.10-xen0-stateless
+# Wed Mar 9 16:13:59 2005
#
CONFIG_XEN=y
CONFIG_ARCH_XEN=y
@@ -19,9 +19,9 @@
# CONFIG_XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER is not set
CONFIG_XEN_WRITABLE_PAGETABLES=y
CONFIG_XEN_SCRUB_PAGES=y
-CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
CONFIG_X86=y
# CONFIG_X86_64 is not set
+CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
#
# Code maturity level options
@@ -48,7 +48,6 @@
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@@ -185,7 +184,6 @@
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
#
# Memory Technology Devices (MTD)
@@ -433,7 +431,9 @@
#
# Fusion MPT device support
#
-# CONFIG_FUSION is not set
+CONFIG_FUSION=y
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=y
#
# IEEE 1394 (FireWire) support
@@ -513,8 +513,8 @@
# CONFIG_IP_NF_MATCH_TTL is not set
# CONFIG_IP_NF_MATCH_TCPMSS is not set
# CONFIG_IP_NF_MATCH_HELPER is not set
-# CONFIG_IP_NF_MATCH_STATE is not set
-# CONFIG_IP_NF_MATCH_CONNTRACK is not set
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
# CONFIG_IP_NF_MATCH_OWNER is not set
# CONFIG_IP_NF_MATCH_PHYSDEV is not set
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
@@ -883,10 +883,15 @@
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
+CONFIG_XFS_FS=y
+# CONFIG_XFS_RT is not set
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_SECURITY=y
+CONFIG_XFS_POSIX_ACL=y
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
+CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
next prev parent reply other threads:[~2005-03-09 3:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-08 12:50 Interrupt levels Ian Pratt
2005-03-09 0:48 ` Nicholas Lee
2005-03-09 3:32 ` Nicholas Lee [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-03-10 2:28 Ian Pratt
2005-03-10 5:41 ` Nicholas Lee
2005-03-10 10:47 ` James Bulpin
2005-03-09 22:24 Ian Pratt
2005-03-10 1:56 ` Nicholas Lee
2005-03-09 21:33 Ian Pratt
2005-03-09 22:12 ` Nicholas Lee
2005-03-09 15:20 Ian Pratt
2005-03-09 20:03 ` Nicholas Lee
2005-03-09 9:38 Ian Pratt
2005-03-09 10:59 ` Nicholas Lee
2005-03-09 8:47 Ian Pratt
2005-03-09 9:22 ` Nicholas Lee
2005-03-09 8:03 Ian Pratt
2005-03-09 8:17 ` Nicholas Lee
2005-03-08 23:24 Ian Pratt
2005-03-08 11:07 Ian Pratt
2005-03-08 23:17 ` Nicholas Lee
2005-03-08 23:22 ` Nivedita Singhvi
2005-03-09 0:38 ` Nicholas Lee
2005-03-08 7:52 Ian Pratt
2005-03-08 8:50 ` Nicholas Lee
2005-03-08 9:14 ` Keir Fraser
2005-03-08 9:45 ` Nicholas Lee
2005-03-08 11:45 ` Nicholas Lee
2005-03-08 6:52 Nicholas Lee
2005-03-08 21:58 ` Kurt Garloff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050309033210.GA344@plumtree.co.nz \
--to=nic-lists@plumtree.co.nz \
--cc=ian.pratt@cl.cam.ac.uk \
--cc=m+Ian.Pratt@cl.cam.ac.uk \
--cc=xen-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.