500 - 700 interrupts a second is a lot, depending on how long you stay in the 
interrupt handler before returning.

1 cent of info


-----Original Message-----
From: ext Maksim Yevmenkin [mailto:[EMAIL PROTECTED]]
Sent: Friday, August 09, 2002 2:19 PM
Subject: Interrupt vs. polling on -current


Can anyone shed some light on the following problem:

OS: FreeBSD-current DP1 (dmesg attached)
Laptop: Toshiba Tecra 8100 (docked)
Hardware: 3Com Bluetooth USB dongle, 3Com Bluetooth PC-CARD
          Xircom CBT PC-CARD (with 16550A UART)

First of all, irq 11 gets shared between PC-CARD controller,
USB controller, NIC in docking station (see dmesg). Everything
that i plug into PC-CARD slots also get irq 11 (which is
normal - i think). Also i have disabled "interrupt harvesting".

My tests are very simple. I plug USB dongle and one PC-CARD
and try to pump data between them as fast as possible. The
data blocks sizes are between 63 and 1500 bytes. 

The Xircom card just does not work :( I' getting a lot of
"silo overflow" messages no matter what i try. I checked
list archives and source - not much look. Is "sio" driver
totally hopeless?

The 3Com PC-CARD is a little bit better, but after some time
it also starting to drop bytes.

This morning i change 3Com driver to use polling, and,
to my extreme surprise it work much, much better now. Also
the interrupt load (according to top) has reduced to at
least half. I have not noticed any system slow down. So
what is up this that? Does that mean that for slow devices
like serial ports etc. polling is better? Does anyone tried
to use polling in "sio" driver? I just can't believe that
FreeBSD on my Pentium-III/600 can't handle lousy 500-700
interrupts a second from PC-CARD. Can anyone point me
into right direction, because i'm obviously doing something
wrong here.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to