cvs commit: src/sys/kern kern_mbuf.c uipc_mbuf.c src/sys/sys
gallatin at cs.duke.edu
Sat Nov 12 16:42:13 PST 2005
Andre Oppermann writes:
> Andrew Gallatin wrote:
> > Andre Oppermann [andre at FreeBSD.org] wrote:
> > > andre 2005-11-02 16:20:36 UTC
> > >
> > > FreeBSD src repository
> > >
> > > Modified files:
> > > sys/kern kern_mbuf.c uipc_mbuf.c
> > > sys/sys mbuf.h param.h
> > > Log:
> > > Mandatory mbuf cluster reference counting and groundwork for UMA
> > > based jumbo 9k and jumbo 16k cluster support.
> > Cool. Are the jumbo clusters physically contiguous?
> Yes. Jumbo allocation API is coming soon.
Wow! That sounds great. You'll be able to replace the ad-hoc
per-driver private jumbo pools that exist in several drivers. But has
UMA gotten good at allocating contiguous memory, or will jumbo
allocations be really expensive?
Can/will these large buffers be used for sosend()?
Have you thought about also adding page-sized clusters? It would save
drivers which are able to chain several buffers together several
allocations per jumbo frame. And it might be better suited for use in
sosend(), since I would imagine that page-sized clusters would
be cheap for UMA to allocate, and they would save one allocation
per page for large sends.
More information about the cvs-src