From owner-cvs-all Fri Aug 21 09:58:54 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA02282 for cvs-all-outgoing; Fri, 21 Aug 1998 09:58:54 -0700 (PDT) (envelope-from owner-cvs-all) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA02274; Fri, 21 Aug 1998 09:58:52 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) From: Bill Paul Received: (from wpaul@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id JAA23928; Fri, 21 Aug 1998 09:58:49 -0700 (PDT) Date: Fri, 21 Aug 1998 09:58:49 -0700 (PDT) Message-Id: <199808211658.JAA23928@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/pci if_xlreg.h Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk 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 Revision Changes Path 1.2 +2 -2 src/sys/pci/if_xlreg.h