Bug 46490

Summary: xl driver generates lots of interrupts with 3c905B-TX/5.0-RC1
Product: Base System Reporter: enderle <enderle>
Component: kernAssignee: Andre Oppermann <andre>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description enderle 2002-12-23 10:00:16 UTC
Top states that the kernel is 50-70% doing interrupt handling while copying large files over network (with samba and nfs). The System is mostly used for desktop things and storing large files. systat -vm states that the xl0 driver shoots out a lot of interrupts. The 5.0-RC1 installation was done with a fresh formated harddrive and is basicaly not customised except some installed packages and basic sysinstall configuration. Its running the GENERIC kernel.

Also the system is more sluggish while doing that and not as responsive as in idle (only desktop) use.

With FreeBSD 4.7 installed before, on a different harddrive, the xl driver just needed a few % cpu-time, nothing to think about. 

I did not yet read the manpage if there is some syscall to change or whatever but i guess this will have to be looked at before 5.0-RELEASE.

How-To-Repeat: Just copy some files over your network with a 3c905B-TX.... whatever
Comment 1 enderle 2002-12-23 12:22:00 UTC
Just wanted to state that i now did read the manpage and i did not find 
any information about any tuning parameters.

Also, the man page states it belongs to FreeBSD 4.7 and was written 1998:

http://www.freebsd.org/cgi/man.cgi?query=xl&apropos=0&sektion=0&manpath=FreeBSD+5.0-current&format=html
Comment 2 silby freebsd_committer freebsd_triage 2002-12-24 18:02:55 UTC
Responsible Changed
From-To: freebsd-bugs->silby

I'll look into it.
Comment 3 enderle 2002-12-29 01:15:11 UTC
I just did the update to RC2, but it didn`t change anything.

I can supply more information now, though:

This is what top states:
CPU states: 52.3% user,  0.0% nice, 12.3% system, 31.5% interrupt,  3.8% idle
  21 root     -68 -187     0K    12K WAIT     3:39 34.03% 34.03% irq11: xl0 acpi0

Some info about network utilisation:

% netstat -in 1
           input        (Total)           output
  packets  errs      bytes    packets  errs      bytes colls
      778     0     539500       2477     0    3378314     0
      794     0     566540       2412     0    3262760     0
     2893     0    3763242       1898     0    2113040     0
      715     0     432990       2491     0    3423266     0
^C

It's just moderate, not realy impressing.

% ifconfig xl0
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       options=3<RXCSUM,TXCSUM>
       inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
       inet6 fe80::250:4ff:fe43:5797%xl0 prefixlen 64 scopeid 0x1
       ether 00:50:04:43:57:97
       media: Ethernet autoselect (100baseTX <full-duplex>)
       status: active

% dmesg | grep xl0
xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0xdc00-0xdc7f mem 0xda000000-0xda00007f irq 11 at device 10.0 on pci0
xl0: Ethernet address: 00:50:04:43:57:97
miibus0: <MII bus> on xl0

Just a wild guess about what could be the problem:
% dmesg | grep "irq 11"
xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0xdc00-0xdc7f mem 0xda000000-0xda00007f irq 11 at device 10.0 on pci0

irq 11 doesn't seem to be used twice.

I tried to follow /usr/src/UPDATING and the section about 5.0-CURRENT's speed, but as it seems, RC2 already has the debugging flags mentioned there turned off.

Also, the xl driver can be tricked to *run away* - 100% cpu utilisation and hang up, but network reachability will coninue though.

I copied a big file over network while it was accidentialy deleted from some other network station.

Imidiatly the irq11: xl0 acpi0 used 100% cpu and the system was extremly sluggish, altough staying useable. The load raised to about 7 the dropped back to 5 and raising up to 7 again, while the system was absolutly idle.

I rebooted the system with shutdown -r now, but it did not shut down cleanly. init stated that not all processes did stop and later bufdeamon did not die. Also a lot of unwriten pages where dropped later (about 750).

The system did reboot and came up cleanly again.

I did not try to reproduce it.

The NFS server is running IRIX 6.5.18m.

Hope this helps or someone can point my nose at some stupid problem i overlooked! (maybe?)
Comment 4 Andre Oppermann freebsd_committer freebsd_triage 2003-12-27 15:46:31 UTC
Steven,

do still have this xl driver interrupt problem with 5.2RC2
or -CURRENT?

-- 
Andre
Comment 5 Andre Oppermann freebsd_committer freebsd_triage 2003-12-27 15:47:56 UTC
State Changed
From-To: open->feedback

This PR is too old.  Asking Originator if problem still persists. 


Comment 6 Andre Oppermann freebsd_committer freebsd_triage 2003-12-27 15:47:56 UTC
Responsible Changed
From-To: silby->andre

This PR is too old.  Asking Originator if problem still persists.
Comment 7 Andre Oppermann freebsd_committer freebsd_triage 2004-01-15 12:36:54 UTC
State Changed
From-To: feedback->closed

Originator reports problem disappeared in 5.1R.