On Wed, 7 Jan 2015, John-Mark Gurney wrote:
Log:
In order to reduce use of M_EXT outside of the mbuf allocator and
socket-buffer implementations, introduce a return value for MCLGET()
(and m_cljget() that underlies it) to allow the caller to avoid testing
M_EXT itself. Update all callers to use the return value.
With this change, very few network device drivers remain aware of
M_EXT; the primary exceptions lie in mbuf-chain pretty printers for
debugging, and in a few cases, custom mbuf and cluster allocation
implementations.
NB: This is a difficult-to-test change as it touches many drivers for
which I don't have physical devices. Instead we've gone for intensive
review, but further post-commit review would definitely be appreciated
to spot errors where changes could not easily be made mechanically,
but were largely mechanical in nature.
Shouldn't this come w/ a FreeBSD version bump for drivers to use?
Yes, probably. Old drivers will continue to work fine in not checking the
return value (for now), but drivers seeing backporting will probably want a
__FreeBSD_version ifdef. I'll do a commit to bump the version number today.
(In my local tree, M_EXT is renamed _M_EXT unless MBUF_PRIVATE is defined,
which really is quite a significant KPI change -- I'm not yet sure if I'm
going to push that into FreeBSD 11 or not.)
Robert
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"