HomeFreeBSD

Improvements to sendfile(2) mbuf free routine.

Description

Improvements to sendfile(2) mbuf free routine.

o Fall back to default m_ext free mech, using function pointer in

m_ext_free, and remove sf_ext_free() called directly from mbuf code.
Testing on modern CPUs showed no regression.

o Provide internally used flag EXT_FLAG_SYNC, to mark that I/O uses

SF_SYNC flag.  Lack of the flag allows us not to dereference
ext_arg2, saving from a cache line miss.

o Create function sendfile_free_page() that later will be used, for

multi-page mbufs.  For now compiler will inline it into
sendfile_free_mext().

In collaboration with: gallatin
Differential Revision: https://reviews.freebsd.org/D12615

Details