Date: Wed, 2 Nov 2005 16:20:36 +0000 (UTC) From: Andre Oppermann <andre@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_mbuf.c uipc_mbuf.c src/sys/sys mbuf.h param.h Message-ID: <200511021620.jA2GKab1085906@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511021620.jA2GKab1085906>