From owner-cvs-all Wed Nov 28 8:10:43 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 09D6237B417; Wed, 28 Nov 2001 08:10:38 -0800 (PST) Received: (from luigi@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id fASGAcU63381; Wed, 28 Nov 2001 08:10:38 -0800 (PST) (envelope-from luigi) Message-Id: <200111281610.fASGAcU63381@freefall.freebsd.org> From: Luigi Rizzo Date: Wed, 28 Nov 2001 08:10:37 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/pci if_sis.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG luigi 2001/11/28 08:10:37 PST Modified files: sys/pci if_sis.c Log: Remove the need for an expensive m_devget on the i386, which does not have alignment problems. On small boxes (e.g. the net4501 from Soekris, featuring a 486/133) this provides huge performance benefits: the peak forwarding rate with avg.sized packets goes up by 50-70% because of this change alone. Faster CPUs might benefit less from this change, but in any case the CPU has better things to do than waste time on useless memory-to-memory copies. Several drivers (for Tulip-like cards) might benefit from a similar change. Right now the new behaviour is controlled by a sysctl variable, hw.sis_quick which defaults to 1 (on), you can set it to 0 to reintroduce the old behaviour (and compare the results). The variable is only there to show how much you can gain with this change, it will go away soon. Also, slightly simplify the code to initialize the ring buffers, and remove a couple of dangerous printf's which could trigger on any packet in case of mbuf shortage. MFC-after: 3 days Revision Changes Path 1.38 +41 -39 src/sys/pci/if_sis.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message