Date: Fri, 21 Aug 1998 09:58:49 -0700 (PDT) From: Bill Paul <wpaul@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/pci if_xlreg.h Message-ID: <199808211658.JAA23928@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
wpaul 1998/08/21 09:58:49 PDT Modified files: sys/pci if_xlreg.h Log: Increase the number of descriptors (and, as a consequence, the number of associated mbuf clusters) in the RX ring from 4 to 16. On my really fast PI 400Mhz test machines, 4 descriptors (and associated mbuf clusters) is enough to achieve decent performance without any RX overruns. However, one person reported problems with the following scenario: - P90 system running FreeBSD with a 3c905B-TX adapter, slow IDE hard disk (Quantum Bigfoot?) - PII 266 with SCSI disks running LoseNT and also with a 3c905B-TX - Both machines connected together via crossover cable at 100Mbps full-duplex - LoseNT machine writing largs amounts of data (2.5 GB work of files each in the neighborhood of 1 to 2 MB in size) via samba to the FreeBSD machine In this case, the LoseNT machine is sending data very fast. Apparently there weren't any problems initially because the user was writing to one particular disk which was relatively fast, however after this disk filled up and the user started writing to the second slower disk, RX overruns would occur and sometimes the RX DMA engine would stall after a 100 to 500MB had been transfered. The xl_rxeof() handler is supposed to detect this condition and restart the upload engine; I'm not sure why it doesn't, unless interrupts are being lost and the rx handler isn't getting called. This is still an improvement over the Linux driver, which uses 32 descriptors in its receive ring. :) Problem reported by: Heiko Schaefer <hschaefer@fto.de> Revision Changes Path 1.2 +2 -2 src/sys/pci/if_xlreg.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808211658.JAA23928>