Get rid of mb_map. Retool the mbuf and mbuf cluster allocator to use
malloc() (our slab allocator). Get rid of the NULL callback function for
M_EXT buffers, assign real functions for standard M_EXT buffers and add
a new flag M_EXT_CLUSTER to tell the mbuf code when an M_EXT buffer is
under management by the mbuf cluster allocator. Get rid of the address
calculations and the char array ref count that used to exist for mbuf
clusters. Replace with a meta-data structure to keep track of ref
counts. Note that the new cluster code uses the new M_EXT mechanism.
Increase the default mbuf+cluster pool from 10 to 20. Add sysctl's to
set the mbuf and mbuf cluster free-pool maximums (kern.ipc.mcl_free_max and
kern.ipc.mbuf_free_max), beyond which mbuf and mbuf cluster memory is
returned to the system.
13 files changed: