From owner-freebsd-net@FreeBSD.ORG Wed Feb 13 01:05:16 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 962DED84 for ; Wed, 13 Feb 2013 01:05:16 +0000 (UTC) (envelope-from mikemacleod@gmail.com) Received: from mail-ia0-x22a.google.com (ia-in-x022a.1e100.net [IPv6:2607:f8b0:4001:c02::22a]) by mx1.freebsd.org (Postfix) with ESMTP id 57516F84 for ; Wed, 13 Feb 2013 01:05:16 +0000 (UTC) Received: by mail-ia0-f170.google.com with SMTP id k20so688647iak.15 for ; Tue, 12 Feb 2013 17:05:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=SLwPotBl5oTGZI/GxPLCGEGjwTQrRx8ErQBCYkWuQyM=; b=tLuqlManh17TUS0LS55dxbt6PS2mEphTMPuqJBhhY/RVWEMqMfb8n+kQvmKSX5fJhW SjIJ/Rmaze2N+T5sjQcmopkdD21pWWimNMvC/atuwBGGRm7fMYe+OMgNuzj2A4d5wAxI 1ZNrhJO1GJ04+4TfzjVuPILuUhSdOF2W3GzXtRspL9lwz0TW+us70RibK5tKLrGWDgRd PnO0prMUWVB1UPD1VkIY93idIZYWoN5W3z1zdjumCTtaP2DArFKx/aFaMveEpKm/eQQE 7Ppm0OHDLiDVH3NsOd+65KRPz+S/UhoPWx8P5UfvsnZRU1X4+lOpQ/KfZexUXuS2EChu InWQ== X-Received: by 10.50.195.231 with SMTP id ih7mr7632631igc.55.1360717515843; Tue, 12 Feb 2013 17:05:15 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.93.5 with HTTP; Tue, 12 Feb 2013 17:04:55 -0800 (PST) In-Reply-To: References: <8112.1360454540@tristatelogic.com> From: Michael MacLeod Date: Tue, 12 Feb 2013 20:04:55 -0500 Message-ID: Subject: Re: Question: Why ain't I getting gigabit speed? To: John Nielsen Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: freebsd-net@freebsd.org, "Ronald F. Guilmette" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2013 01:05:16 -0000 Since it deserved recognition, here's the bit from if_rl.c that John is referring to: * The RealTek 8139 PCI NIC redefines the meaning of 'low end.' This is * probably the worst PCI ethernet controller ever made, with the possible * exception of the FEAST chip made by SMC. The 8139 supports bus-master * DMA, but it has a terrible interface that nullifies any performance * gains that bus-master DMA usually offers. * * For transmission, the chip offers a series of four TX descriptor * registers. Each transmit frame must be in a contiguous buffer, aligned * on a longword (32-bit) boundary. This means we almost always have to * do mbuf copies in order to transmit a frame, except in the unlikely * case where a) the packet fits into a single mbuf, and b) the packet * is 32-bit aligned within the mbuf's data area. The presence of only * four descriptor registers means that we can never have more than four * packets queued for transmission at any one time. * * Reception is not much better. The driver has to allocate a single large * buffer area (up to 64K in size) into which the chip will DMA received * frames. Because we don't know where within this region received packets * will begin or end, we have no choice but to copy data from the buffer * area into mbufs in order to pass the packets up to the higher protocol * levels. Rock solid driver for a comically bad chipset. Thanks Bill! On Tue, Feb 12, 2013 at 7:00 PM, John Nielsen wrote: > On Feb 9, 2013, at 5:02 PM, Ronald F. Guilmette > wrote: > > > P.S. While I appreciate all the friendly advice people here have given > > me, i.e. to go with a card based around some non-Realtek chip, I have to > > say that up until now I have always and consistantly had -zero- problems > > with the many other Realtek-based 10/100 cards that I have owned and > used. > > A bit OT, but I would say that this is _because_ of the FreeBSD driver > (rl, also by Bill Paul). Some of the hardware deficiencies documented in > the manpage and in comments in the if_rl.c are almost comical.. > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >