PCI IRQ latency
Daniel O'Connor
doconnor at gsoft.com.au
Wed Aug 19 03:39:08 UTC 2009
Hi,
We have a custom PCI (slave only, very slow) card to do data transfer,
and on some systems we are seeing problems with the data source FIFO
filling up.
The data rate is 1.7Mb/sec and the FIFO is 96k in size, however it only
generates an IRQ when it has 16k of data in it, so it should have
~4.5msec of buffer available once an IRQ is issued.
The systems are Supermicro C2SBA+ with Core 2 Duos of varying speeds
(~1.5GHz) running FreeBSD 6.2 amd64. The kernel conf is basically
GENERIC, although I have also tried compiling out SMP but the problem
still persists.
The card is not sharing an IRQ with any other card I can see (it has irq
20 and nothing else uses that).
Due to the legacy nature of the card the interrupt handler for it is
pretty horrible - it reads 16k worth of data out 32 bits at a time
doing slave transactions. I can't do bursting because it is reading
from a FIFO, and due to the speed of the FIFO & cable runs each read
takes several PCI cycles.
I did some googling and found
http://www.mail-archive.com/freebsd-usb%40freebsd.org/msg04576.html
which would seem to indicate we would be OK.
Unfortunately it seems that _something_ blocks interrupts for >4
milliseconds, however I have no real idea how to go about finding what
it is.. Does anyone have any suggestions? (apart from get a new DAQ
card, I know this one already :)
Thanks.
--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20090819/5c6d6de2/attachment.pgp
More information about the freebsd-hackers
mailing list