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

[ Available lists | Index of cvs-all | Month of Dec 2005 | Week of 8 Dec 2005 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Andre Oppermann <andre@FreeBSD.org>
Date
8 Dec 2005 13:13:25
Subject
cvs commit: src/sys/kern kern_mbuf.c uipc_mbuf.c src/sys/sys mbuf.h param.h
Message-ID
200512081313.jB8DD6ak085172@repoman.freebsd.org


[ Hide this part ]
andre       2005-12-08 13:13:06 UTC

FreeBSD src repository

Modified files:
sys/kern kern_mbuf.c uipc_mbuf.c
sys/sys mbuf.h param.h
Log:
Add an API for jumbo mbuf cluster allocation and also provide
4k clusters in addition to 9k and 16k ones.

struct mbuf *m_getjcl(int how, short type, int flags, int size)
void *m_cljget(struct mbuf *m, int how, int size)

m_getjcl() returns an mbuf with a cluster of the specified size attached
like m_getcl() does for 2k clusters.

m_cljget() is different from m_clget() as it can allocate clusters
without attaching them to an mbuf. In that case the return value
is the pointer to the cluster of the requested size. If an mbuf was
specified, it gets the cluster attached to it and the return value
can be safely ignored.

For size both take MCLBYTES, MJUM4BYTES, MJUM9BYTES, MJUM16BYTES.

Reviewed by: glebius
Tested by: glebius
Sponsored by: TCP/IP Optimization Fundraise 2005

Revision Changes Path
1.16 +19 -1 src/sys/kern/kern_mbuf.c
1.159 +3 -0 src/sys/kern/uipc_mbuf.c
1.183 +88 -3 src/sys/sys/mbuf.h
1.256 +3 -2 src/sys/sys/param.h


Elapsed time: 0.103 seconds