lmkd: mlock all memory

Use mlockall(MCL_FUTURE) to lock all lmkd pages in memory.  This
avoids lmkd thrashing when the system is low on memory.

As a side effect, it will also keep the .text sections of liblog, libm,
libc, and libprocessgroup in memory at all times.

Bug: 16236289
Change-Id: Idd70557efa4b1e14bc86f14220672a30f6c956e3
diff --git a/lmkd/lmkd.c b/lmkd/lmkd.c
index 1aeb182..a952855 100644
--- a/lmkd/lmkd.c
+++ b/lmkd/lmkd.c
@@ -26,6 +26,7 @@
 #include <sys/cdefs.h>
 #include <sys/epoll.h>
 #include <sys/eventfd.h>
+#include <sys/mman.h>
 #include <sys/socket.h>
 #include <sys/types.h>
 #include <unistd.h>
@@ -747,6 +748,7 @@
 }
 
 int main(int argc __unused, char **argv __unused) {
+    mlockall(MCL_FUTURE);
     if (!init())
         mainloop();