cvs commit: src/sys/kern kern_mbuf.c uipc_mbuf.c src/sys/sys mbuf.h param.h

Andrew Gallatin 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.



Drew


More information about the cvs-all mailing list