It is possible to disable the current process' swapping
programmatically.
You would need to write a very small wrapper application which
would call
mlockall(MCL_CURRENT | MCL_FUTURE);
then execute your daemon, by calling execve() or a wrapper. *Do
not* fork another process before execve.
-- Didier