cvs commit: src/sys/kern kern_mbuf.c uipc_mbuf.c src/sys/sys
mbuf.h param.h
Andre Oppermann
andre at FreeBSD.org
Wed Nov 2 08:20:37 PST 2005
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.
All mbuf's with external storage attached are mandatory reference
counted. For clusters and jumbo clusters UMA provides the refcnt
storage directly. It does not have to be separatly allocated. Any
other type of external storage gets its own refcnt allocated from
an UMA mbuf refcnt zone instead of normal kernel malloc.
The refcount API MEXT_ADD_REF() and MEXT_REM_REF() is no longer
publically accessible. The proper m_* functions have to be used.
mb_ctor_clust() and mb_dtor_clust() both handle normal 2K as well
as 9k and 16k clusters.
Clusters and jumbo clusters may be obtained without attaching it
immideatly to an mbuf. This is for high performance cluster
allocation in network drivers where mbufs are attached after the
cluster has been filled.
Tested by: rwatson
Sponsored by: TCP/IP Optimizations Fundraise 2005
Revision Changes Path
1.12 +151 -42 src/sys/kern/kern_mbuf.c
1.156 +95 -89 src/sys/kern/uipc_mbuf.c
1.179 +19 -46 src/sys/sys/mbuf.h
1.251 +3 -0 src/sys/sys/param.h
More information about the cvs-src
mailing list