Scatter reads and gather writes provide a great opportunity to avoid
excess data movement within a high throughput daemon. Unfortunately
the current st_ interfaces require that all reads and writes needs to be
marshalled into as a contiguous piece of memory.
On a particular daemon I'm working on, profiling is showing that most of
the user-space CPU is in memory movement and allocation which is
almost entirely as a consequence of this marshalling need.