From owner-freebsd-hackers Thu Feb 25 11:52:37 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from relay03.indigo.ie (relay03.indigo.ie [194.125.133.227]) by hub.freebsd.org (Postfix) with SMTP id 0AA7C14DA3 for ; Thu, 25 Feb 1999 11:52:25 -0800 (PST) (envelope-from nsmart@kira.team400.ie) Received: (qmail 14301 messnum 46117 invoked from network[194.125.207.199/ts99-250.dublin.indigo.ie]); 25 Feb 1999 19:52:07 -0000 Received: from ts99-250.dublin.indigo.ie (HELO kira.team400.ie) (194.125.207.199) by relay03.indigo.ie (qp 14301) with SMTP; 25 Feb 1999 19:52:07 -0000 Message-ID: <36D5AA35.898A44C7@kira.team400.ie> Date: Thu, 25 Feb 1999 19:53:25 +0000 From: Niall Smart Organization: Trinity Commerce X-Mailer: Mozilla 4.5 [en] (X11; I; FreeBSD 3.1-STABLE i386) X-Accept-Language: en MIME-Version: 1.0 To: Bill Paul Cc: hackers@freebsd.org Subject: Re: How to handle jumbo etherney frames References: <199902210458.XAA12913@skynet.ctr.columbia.edu> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Bill Paul wrote: [snip] > so I'd need to use > contigmalloc() in order to be sure of getting contiguous pages (the > chip will be DMAing into the buffers and it has no knowledge of the > kernel's virtual page mappings). Using contigmalloc() can easily > fail as memory becomes fragmented however. Out of interest, do you know of anyone who has attempted to find out the probability of a contigmalloc of X pages failing given a particular load characteristic? It would be interesting to profile a busy web server, a development box, a file server, a news server, etc to get a rough idea of how likely it is that you'll be able to contigmalloc X pages. Making a wild guess for the moment, lets say 75% of the time you can expect a contigmalloc of three pages to succeed (you need three pages for each 9K frame, right?). When it succeeds you place a normal descriptor on the jumbo ring buffer, when it fails you call malloc and use the scheme you've described involving an extended descriptor. Would this work? Regards Niall (hoping he's making even a moderate amount of sense :) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message