> investigative:

. pages pinned?

are turbopacket shared buffer pages pinned, or in virtual memory?  if the
latter, a shared buffer that is too large will cause unwanted paging.

. map shared?

better to have a private mmap?

. TP_STATUS_KERNEL?

is it possible to see something besides TP_STATUS_USER or TP_STATUS_KERNEL
in the user process?

. mb()?

who understands the memory barrier stuff?


> coding:

. bytes dropped

implement counter of bytes dropped in kernel, paralleling cja changes to
open bsd.

. signal - cleanup

on receipt of signal, listener process should ensure final packets written
to file (and output final stats), not simply exit.


> testing

. sequential testing

use modified spitter to record sequential packet numbers, ensure all are
seen at vault.  (tools available on openbsd partition.)

. synthetic load testing

use spitter to duplicate observed packet distribution at maximum spitter
rate.
