It turns out that the posix shared memory sendfile works great,
except for the massive VM contention that you experience when you
start using it from multiple threads and for high amounts of
traffic (20gbit+.)

Using a single large shared memory segment turns out to be really
bad for VM contention.

So to work around this in my testing, just create one shm segment
per worker thread.  This is a dirty hack (and I really should be
using thread-local storage for this stuff) but it indeed does
remove the VM contention.