Skip site navigation (1)Skip section navigation (2)
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>