I want to write a user process that calls (send several args, get
return value, synchronous) routines in a loadable modules as fast as
possible. If I could dynamically add (and remove) syscalls from the
module at load (and cleanup) time, that'd be fantastic. If not,
what's currently the next best way? I need a mechanism as close to
the performance characteristics of syscalls, since:
(1) I will be calling them zillions of times in all sorts of
concurrency patterns for benchmarking and correctness testing, and
(2) some of the routines so tested will eventually either become
static syscalls, or even replace existing ones.
What are the right ways from user processes to communicate
bidirectionally with module routines?
Procfs seems to have a get_info hack to make read-only files easy, but
everything else appears to require hacking the static kernel.
-- Perry Wagle, Research Programmer, Synthetix Project