#
2e03f452 |
| 04-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Resync with head.
|
#
e499bd28 |
| 02-Jun-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove unneeded include.
MFC after: 3 days
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
1829d5da |
| 12-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
Update the projects tree to a newer FreeBSD current.
|
#
129c5c81 |
| 18-Jan-2009 |
Alexander Motin <mav@FreeBSD.org> |
Teach m_copyback() to use trailing space of the last mbuf in chain.
|
Revision tags: release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0 |
|
#
9128ec21 |
| 05-Sep-2008 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove the alignment of the align parameter. This is up to the caller to pass in and it breaks tap(4) on strict alignment machines as m_uiotombuf is called with ETHER_ALIGN.
Found by: Jared Go Revie
Remove the alignment of the align parameter. This is up to the caller to pass in and it breaks tap(4) on strict alignment machines as m_uiotombuf is called with ETHER_ALIGN.
Found by: Jared Go Reviewed by: emax MFC after: 3 days
show more ...
|
#
2182c0cf |
| 30-Apr-2008 |
Julian Elischer <julian@FreeBSD.org> |
Attempt to make the print types more friendly to other architectures.
Prodded by: Max Laier Help from: BMS, jhb
|
#
6eeac1d9 |
| 29-Apr-2008 |
Julian Elischer <julian@FreeBSD.org> |
Add an option (compiled out by default) to profile outoing packets for a number of mbuf chain related parameters e.g. number of mbufs, wasted space. probably will do with further work later.
Reviewe
Add an option (compiled out by default) to profile outoing packets for a number of mbuf chain related parameters e.g. number of mbufs, wasted space. probably will do with further work later.
Reviewed by: various
show more ...
|
#
ea26d587 |
| 25-Mar-2008 |
Ruslan Ermilov <ru@FreeBSD.org> |
Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT. Removed dead code that assumed that M_TRYWAIT can return NULL; it's not true since the advent of MBUMA.
Reviewed by: arch
Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT. Removed dead code that assumed that M_TRYWAIT can return NULL; it's not true since the advent of MBUMA.
Reviewed by: arch
There are ongoing disputes as to whether we want to switch to directly using UMA flags M_WAITOK/M_NOWAIT for mbuf(9) allocation.
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0 |
|
#
cf827063 |
| 01-Feb-2008 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Give MEXTADD() another argument to make both void pointers to the free function controlable, instead of passing the KVA of the buffer storage as the first argument.
Fix all conventional users of the
Give MEXTADD() another argument to make both void pointers to the free function controlable, instead of passing the KVA of the buffer storage as the first argument.
Fix all conventional users of the API to pass the KVA of the buffer as the first argument, to make this a no-op commit.
Likely break the only non-convetional user of the API, after informing the relevant committer.
Update the mbuf(9) manual page, which was already out of sync on this point.
Bump __FreeBSD_version to 800016 as there is no way to tell how many arguments a CPP macro needs any other way.
This paves the way for giving sendfile(9) a way to wait for the passed storage to have been accessed before returning.
This does not affect the memory layout or size of mbufs.
Parental oversight by: sam and rwatson.
No MFC is anticipated.
show more ...
|
#
eeb76a18 |
| 17-Jan-2008 |
Sam Leffler <sam@FreeBSD.org> |
promote ath_defrag to m_collapse (and retire private+unused m_collapse from cxgb)
Reviewed by: pyun, jhb, kmacy MFC after: 2 weeks
|
Revision tags: release/6.3.0_cvs, release/6.3.0 |
|
#
457869b9 |
| 06-Oct-2007 |
Kip Macy <kmacy@FreeBSD.org> |
This patch adds an M_NOFREE flag which allows one to mark an mbuf as not being independently freeable. This allows one to embed an mbuf in the cluster itself. This confers the benefits of the packet
This patch adds an M_NOFREE flag which allows one to mark an mbuf as not being independently freeable. This allows one to embed an mbuf in the cluster itself. This confers the benefits of the packet zone on all cluster sizes. Embedded mbufs currently suffer from the same limitation that packet zone mbufs do in that one cannot disconnect them and pass them around independently of the cluster. It would likely be possible to eliminate this limitation in the future by adding a second reference for the mbuf itself.
Approved by: re(gnn)
show more ...
|
#
d19e16a7 |
| 16-May-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Generally migrate to ANSI function headers, and remove 'register' use.
|
#
21ee3e7a |
| 14-Apr-2007 |
Kip Macy <kmacy@FreeBSD.org> |
remove now invalid check from m_sanity panic on m_sanity check failure with INVARIANTS
|
#
7c32173b |
| 22-Jan-2007 |
Andre Oppermann <andre@FreeBSD.org> |
Unbreak writes of 0 bytes. Zero byte writes happen when only ancillary control data but no payload data is passed.
Change m_uiotombuf() to return at least one empty mbuf if the requested length was
Unbreak writes of 0 bytes. Zero byte writes happen when only ancillary control data but no payload data is passed.
Change m_uiotombuf() to return at least one empty mbuf if the requested length was zero. Add comment to sosend_dgram and sosend_generic().
Diagnoses by: jhb Regression test by: rwatson Pointy hat to. andre
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
5288989f |
| 21-Dec-2006 |
Randall Stewart <rrs@FreeBSD.org> |
The prepend function did not handle non-pkthdr's correctly. It always called MH_ALIGN for small lengths being prepended (less than MHLEN). This meant that if you did a prepend on a non M_PKTHDR the s
The prepend function did not handle non-pkthdr's correctly. It always called MH_ALIGN for small lengths being prepended (less than MHLEN). This meant that if you did a prepend on a non M_PKTHDR the system would panic with the KASSERT in MH_ALIGN. Instead we are not aware of this and do a MH_ALIGN or M_ALIGN as appropriate.
Reviewed by: andre Approved by: gnn
show more ...
|
#
5e20f43d |
| 02-Nov-2006 |
Andre Oppermann <andre@FreeBSD.org> |
Rename m_getm() to m_getm2() and rewrite it to allocate up to page sized mbuf clusters. Add a flags parameter to accept M_PKTHDR and M_EOR mbuf chain flags. Provide compatibility macro for m_getm()
Rename m_getm() to m_getm2() and rewrite it to allocate up to page sized mbuf clusters. Add a flags parameter to accept M_PKTHDR and M_EOR mbuf chain flags. Provide compatibility macro for m_getm() calling m_getm2() with M_PKTHDR set.
Rewrite m_uiotombuf() to use m_getm2() for mbuf allocation and do the uiomove() in a tight loop over the mbuf chain. Add a flags parameter to accept mbuf flags to be passed to m_getm2(). Adjust all callers for the extra parameter.
Sponsored by: TCP/IP Optimization Fundraise 2005 MFC after: 3 month
show more ...
|
#
aed55708 |
| 22-Oct-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Complete break-out of sys/sys/mac.h into sys/security/mac/mac_framework.h begun with a repo-copy of mac.h to mac_framework.h. sys/mac.h now contains the userspace and user<->kernel API and definitio
Complete break-out of sys/sys/mac.h into sys/security/mac/mac_framework.h begun with a repo-copy of mac.h to mac_framework.h. sys/mac.h now contains the userspace and user<->kernel API and definitions, with all in-kernel interfaces moved to mac_framework.h, which is now included across most of the kernel instead.
This change is the first step in a larger cleanup and sweep of MAC Framework interfaces in the kernel, and will not be MFC'd.
Obtained from: TrustedBSD Project Sponsored by: SPARTA
show more ...
|
#
adf5d1c6 |
| 21-Sep-2006 |
Randall Stewart <rrs@FreeBSD.org> |
atomic_fetchadd_int is used by mb_free_ext(), but it returns the previous value that the "add" effected (In this case we are adding -1), afterwhich we compare it to '0'... to see if we free the mbuf.
atomic_fetchadd_int is used by mb_free_ext(), but it returns the previous value that the "add" effected (In this case we are adding -1), afterwhich we compare it to '0'... to see if we free the mbuf... we should be comparing it to '1'... Note that this only effects when there is contention since there is a first part to the comparison that checks to see if its '1'. So this bug would only crop up if two CPU's are trying to free the same mbuf refcount at the same time. This will happen in SCTP but I doubt can happen in TCP or UDP. PR: N/A Submitted by: rrs Reviewed by: gnn,sam Approved by: gnn,sam
show more ...
|
#
b37ffd31 |
| 10-Jun-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Move some functions and definitions from uipc_socket2.c to uipc_socket.c:
- Move sonewconn(), which creates new sockets for incoming connections on listen sockets, so that all socket allocate code
Move some functions and definitions from uipc_socket2.c to uipc_socket.c:
- Move sonewconn(), which creates new sockets for incoming connections on listen sockets, so that all socket allocate code is together in uipc_socket.c.
- Move 'maxsockets' and associated sysctls to uipc_socket.c with the socket allocation code.
- Move kern.ipc sysctl node to uipc_socket.c, add a SYSCTL_DECL() for it to sysctl.h and remove lots of scattered implementations in various IPC modules.
- Sort sodealloc() after soalloc() in uipc_socket.c for dependency order reasons. Statisticize soalloc() and sodealloc() as they are now required only in uipc_socket.c, and are internal to the socket implementation.
After this change, socket allocation and deallocation is entirely centralized in one file, and uipc_socket2.c consists entirely of socket buffer manipulation and default protocol switch functions.
MFC after: 1 month
show more ...
|
Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
47e2996e |
| 15-Mar-2006 |
Sam Leffler <sam@FreeBSD.org> |
promote fast ipsec's m_clone routine for public use; it is renamed m_unshare and the caller can now control how mbufs are allocated
Reviewed by: andre, luigi, mlaier MFC after: 1 week
|
#
45e0d0aa |
| 14-Mar-2006 |
John-Mark Gurney <jmg@FreeBSD.org> |
spell pdata correctly, we now will only dump maxlen of each mbuf in the chain, instead of the entire mbuf... This should probably be reworked so that it prints at max maxlen bytes for the entire cha
spell pdata correctly, we now will only dump maxlen of each mbuf in the chain, instead of the entire mbuf... This should probably be reworked so that it prints at max maxlen bytes for the entire chain...
show more ...
|
#
67c0796c |
| 07-Mar-2006 |
John Baldwin <jhb@FreeBSD.org> |
For consistency sake, use >= MINCLSIZE rather than > MINCLSIZE to determine whether or not to allocate a full mbuf cluster rather than just a plain mbuf when adding on additional mbufs in m_getm().
For consistency sake, use >= MINCLSIZE rather than > MINCLSIZE to determine whether or not to allocate a full mbuf cluster rather than just a plain mbuf when adding on additional mbufs in m_getm(). In practice, there wasn't any resulting mem trashing since m_getm() doesn't ever allocate an mbuf with a packet header, and MINCLSIZE is the available payload in an mbuf with a header rather than the available payload in a plain mbuf.
Discussed with: andre (lightly)
show more ...
|
#
80444f88 |
| 18-Feb-2006 |
Andre Oppermann <andre@FreeBSD.org> |
The sysctls kern.ipc.[max_linkhdr|max_protohdr|max_hdr|max_datalen] can't be changed from userland. Make them read-only and provide descriptions.
kern.ipc.max_datalen must never be less than one by
The sysctls kern.ipc.[max_linkhdr|max_protohdr|max_hdr|max_datalen] can't be changed from userland. Make them read-only and provide descriptions.
kern.ipc.max_datalen must never be less than one byte. Enforce this with a panic in net_init_domain().
Sponsored by: TCP/IP Optimization Fundraise 2005 MFC after: 3 days
show more ...
|
#
ec63cb90 |
| 17-Feb-2006 |
Andre Oppermann <andre@FreeBSD.org> |
Replace the 4k fixed sized jumbo mbuf clusters with PAGE_SIZE sized jumbo mbuf clusters. To make the variable size clear they are named MJUMPAGESIZE.
Having jumbo clusters with the native PAGE_SIZE
Replace the 4k fixed sized jumbo mbuf clusters with PAGE_SIZE sized jumbo mbuf clusters. To make the variable size clear they are named MJUMPAGESIZE.
Having jumbo clusters with the native PAGE_SIZE is more useful than a fixed 4k size according the device driver writers using this API.
The 9k and 16k jumbo mbuf clusters remain unchanged.
Requested by: glebius, gallatin Sponsored by: TCP/IP Optimization Fundraise 2005 MFC after: 3 days
show more ...
|
#
63e6f390 |
| 15-Dec-2005 |
Ed Maste <emaste@FreeBSD.org> |
When using m_dup(9) to copy more than MHLEN bytes of data, don't create an mbuf chain that starts with a cluster containing just MHLEN bytes. This happened because m_dup called m_get or m_getcl depe
When using m_dup(9) to copy more than MHLEN bytes of data, don't create an mbuf chain that starts with a cluster containing just MHLEN bytes. This happened because m_dup called m_get or m_getcl depending on the amount of data to copy, but then always set the size available in the first mbuf to MHLEN.
Submitted by: Matt Koivisto <mkoivisto at sandvine dot com> Approved by: jmg Silence from: rwatson (mentor)
show more ...
|