From owner-freebsd-arch Tue Jun 13 2:57:32 2000 Delivered-To: freebsd-arch@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.40.131]) by hub.freebsd.org (Postfix) with ESMTP id 6DF5E37B9D5; Tue, 13 Jun 2000 02:57:28 -0700 (PDT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.9.3/8.9.3) with ESMTP id LAA09397; Tue, 13 Jun 2000 11:57:25 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: arch@freebsd.org Cc: wpaul@freebsd.org Subject: space for chip descriptors in mbuf ? From: Poul-Henning Kamp Date: Tue, 13 Jun 2000 11:57:25 +0200 Message-ID: <9395.960890245@critter.freebsd.dk> Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG It seems to me that most of the bus-master based network cards use some kind of "packet descriptor" for describing a slice of data in RAM. At least in the drivers I've been working on, one such descriptor is needed for every mbuf (not per packet!) sent or received. Is it time to add space in the mbuf for this overhead, rather than have every single driver allocate these petite data structures for every mbuf they touch ? Something like 16 bytes should cover most chips I know of, but I'm sure Bill Paul has a better census on what ethernet chips seem to prefer for this size ? I have examined the packet-size histogram of trafic in the AS6785 network and I find: MLEN delta % short packets 236 0 50.8504 220 -16 50.4915 216 -20 50.3645 212 -24 50.2045 208 -28 49.9585 204 -32 49.5745 200 -36 49.3126 -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD coreteam member | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message