Index: tmpfs.h =================================================================== --- tmpfs.h (revision 217576) +++ tmpfs.h (working copy) @@ -50,6 +50,7 @@ #include #include #include +#include #include MALLOC_DECLARE(M_TMPFSMNT); @@ -491,6 +492,7 @@ * tmpfs). * XXX: Should this be tunable through sysctl, for instance? */ #define TMPFS_PAGES_RESERVED (4 * 1024 * 1024 / PAGE_SIZE) +#define TMPFS_PAGES_LOWMEM (1 * 1024 * 1024 / PAGE_SIZE) /* * Returns information about the number of available memory pages, @@ -526,6 +528,10 @@ size_t freepages; freepages = tmpfs_mem_info(); + if (freepages < TMPFS_PAGES_LOWMEM + TMPFS_PAGES_RESERVED) { + EVENTHANDLER_INVOKE(vm_lowmem, 0); + freepages = tmpfs_mem_info(); + } freepages -= freepages < TMPFS_PAGES_RESERVED ? freepages : TMPFS_PAGES_RESERVED;