From owner-freebsd-hackers Mon Apr 3 15:46:27 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id PAA21748 for hackers-outgoing; Mon, 3 Apr 1995 15:46:27 -0700 Received: from Root.COM (implode.Root.COM [198.145.90.1]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id PAA21742 for ; Mon, 3 Apr 1995 15:46:24 -0700 Received: from corbin.Root.COM (corbin.Root.COM [198.145.90.18]) by Root.COM (8.6.8/8.6.5) with ESMTP id PAA04414; Mon, 3 Apr 1995 15:46:02 -0700 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id PAA02907; Mon, 3 Apr 1995 15:46:01 -0700 Message-Id: <199504032246.PAA02907@corbin.Root.COM> X-Authentication-Warning: corbin.Root.COM: Host localhost didn't use HELO protocol To: Luigi Rizzo cc: hackers@FreeBSD.org Subject: Re: NE2000 Plus performance In-reply-to: Your message of "Mon, 03 Apr 95 09:18:02 +0200." <199504030718.JAA09037@labinfo.iet.unipi.it> From: David Greenman Reply-To: davidg@Root.COM Date: Mon, 03 Apr 1995 15:45:55 -0700 Sender: hackers-owner@FreeBSD.org Precedence: bulk >> It's not supported. I didn't even know of the NE2000+ existence until you >> mentioned here. > >Ok. A couple of questions about network ards and drivers, though: > >1) how much faster are memory-mapped cards wrt io-mapped ones ? Is it > just the clock cycle per word that you save in transferring data > with MOVSW instead of INSW, or there is more (e.g. the driver > does more or less random access to the board, thus has to waste > time specifying the address of the desired data quite often) ? SMC cards have shared memory that can be read and written at 4MB/sec. The NE2000 style cards (using programmed I/O) transfer bytes at about 1.7MB/sec. Thus when trying to do 1100KB/sec, the SMC cards take 25% of the CPU to read/write the packet and the NE2000 cards take more than 60% of the CPU. >2) not long ago,, if memory serves, it was mentioned that the > network drivers in freebsd use only one buffer for tx data, and > the rest of the memory for rx packets. If this is true, how can It isn't true for if_ed.c (the driver for the cards we're talking about). It's also not true for most of the other supported cards. The 'ed' driver uses a multi buffering scheme to transmit packets if the card has 16K or more of memory...this includes SMC 16bit cards, NE2000's, and 16bit 3c503's. -DG