Date: Wed, 19 Aug 2009 12:53:20 +0930 From: "Daniel O'Connor" <doconnor@gsoft.com.au> To: freebsd-hackers@freebsd.org Subject: PCI IRQ latency Message-ID: <200908191253.27951.doconnor@gsoft.com.au>
next in thread | raw e-mail | index | archive | help
--nextPart3105456.LXgneOTOXJ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, We have a custom PCI (slave only, very slow) card to do data transfer,=20 and on some systems we are seeing problems with the data source FIFO=20 filling up. The data rate is 1.7Mb/sec and the FIFO is 96k in size, however it only=20 generates an IRQ when it has 16k of data in it, so it should have=20 ~4.5msec of buffer available once an IRQ is issued. The systems are Supermicro C2SBA+ with Core 2 Duos of varying speeds=20 (~1.5GHz) running FreeBSD 6.2 amd64. The kernel conf is basically=20 GENERIC, although I have also tried compiling out SMP but the problem=20 still persists. The card is not sharing an IRQ with any other card I can see (it has irq=20 20 and nothing else uses that). Due to the legacy nature of the card the interrupt handler for it is=20 pretty horrible - it reads 16k worth of data out 32 bits at a time=20 doing slave transactions. I can't do bursting because it is reading=20 from a FIFO, and due to the speed of the FIFO & cable runs each read=20 takes several PCI cycles. I did some googling and found=20 http://www.mail-archive.com/freebsd-usb%40freebsd.org/msg04576.html=20 which would seem to indicate we would be OK. Unfortunately it seems that _something_ blocks interrupts for >4=20 milliseconds, however I have no real idea how to go about finding what=20 it is.. Does anyone have any suggestions? (apart from get a new DAQ=20 card, I know this one already :) Thanks. =2D-=20 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 --nextPart3105456.LXgneOTOXJ Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (FreeBSD) iD8DBQBKi3Av5ZPcIHs/zowRAjMtAKCYT3Nc9HbO9qQudeDhAh59psI0rgCeP1k+ x2gMEz8wadGi58ji/d1/ZQE= =PVT5 -----END PGP SIGNATURE----- --nextPart3105456.LXgneOTOXJ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908191253.27951.doconnor>