Date: Thu, 25 Feb 1999 19:53:25 +0000 From: Niall Smart <nsmart@kira.team400.ie> To: Bill Paul <wpaul@skynet.ctr.columbia.edu> Cc: hackers@freebsd.org Subject: Re: How to handle jumbo etherney frames Message-ID: <36D5AA35.898A44C7@kira.team400.ie> References: <199902210458.XAA12913@skynet.ctr.columbia.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36D5AA35.898A44C7>