/* Generated by ./xlat/gen.sh from ./xlat/sysctl_vm.in; do not edit. */

static const struct xlat sysctl_vm[] = {
#if defined(VM_OVERCOMMIT_MEMORY) || (defined(HAVE_DECL_VM_OVERCOMMIT_MEMORY) && HAVE_DECL_VM_OVERCOMMIT_MEMORY)
 XLAT(VM_OVERCOMMIT_MEMORY),
#endif
#if defined(VM_PAGE_CLUSTER) || (defined(HAVE_DECL_VM_PAGE_CLUSTER) && HAVE_DECL_VM_PAGE_CLUSTER)
 XLAT(VM_PAGE_CLUSTER),
#endif
#if defined(VM_DIRTY_BACKGROUND) || (defined(HAVE_DECL_VM_DIRTY_BACKGROUND) && HAVE_DECL_VM_DIRTY_BACKGROUND)
 XLAT(VM_DIRTY_BACKGROUND),
#endif
#if defined(VM_DIRTY_RATIO) || (defined(HAVE_DECL_VM_DIRTY_RATIO) && HAVE_DECL_VM_DIRTY_RATIO)
 XLAT(VM_DIRTY_RATIO),
#endif
#if defined(VM_DIRTY_WB_CS) || (defined(HAVE_DECL_VM_DIRTY_WB_CS) && HAVE_DECL_VM_DIRTY_WB_CS)
 XLAT(VM_DIRTY_WB_CS),
#endif
#if defined(VM_DIRTY_EXPIRE_CS) || (defined(HAVE_DECL_VM_DIRTY_EXPIRE_CS) && HAVE_DECL_VM_DIRTY_EXPIRE_CS)
 XLAT(VM_DIRTY_EXPIRE_CS),
#endif
#if defined(VM_NR_PDFLUSH_THREADS) || (defined(HAVE_DECL_VM_NR_PDFLUSH_THREADS) && HAVE_DECL_VM_NR_PDFLUSH_THREADS)
 XLAT(VM_NR_PDFLUSH_THREADS),
#endif
#if defined(VM_OVERCOMMIT_RATIO) || (defined(HAVE_DECL_VM_OVERCOMMIT_RATIO) && HAVE_DECL_VM_OVERCOMMIT_RATIO)
 XLAT(VM_OVERCOMMIT_RATIO),
#endif
#if defined(VM_PAGEBUF) || (defined(HAVE_DECL_VM_PAGEBUF) && HAVE_DECL_VM_PAGEBUF)
 XLAT(VM_PAGEBUF),
#endif
#if defined(VM_HUGETLB_PAGES) || (defined(HAVE_DECL_VM_HUGETLB_PAGES) && HAVE_DECL_VM_HUGETLB_PAGES)
 XLAT(VM_HUGETLB_PAGES),
#endif
#if defined(VM_SWAPPINESS) || (defined(HAVE_DECL_VM_SWAPPINESS) && HAVE_DECL_VM_SWAPPINESS)
 XLAT(VM_SWAPPINESS),
#endif
#if defined(VM_LOWMEM_RESERVE_RATIO) || (defined(HAVE_DECL_VM_LOWMEM_RESERVE_RATIO) && HAVE_DECL_VM_LOWMEM_RESERVE_RATIO)
 XLAT(VM_LOWMEM_RESERVE_RATIO),
#endif
#if defined(VM_MIN_FREE_KBYTES) || (defined(HAVE_DECL_VM_MIN_FREE_KBYTES) && HAVE_DECL_VM_MIN_FREE_KBYTES)
 XLAT(VM_MIN_FREE_KBYTES),
#endif
#if defined(VM_MAX_MAP_COUNT) || (defined(HAVE_DECL_VM_MAX_MAP_COUNT) && HAVE_DECL_VM_MAX_MAP_COUNT)
 XLAT(VM_MAX_MAP_COUNT),
#endif
#if defined(VM_LAPTOP_MODE) || (defined(HAVE_DECL_VM_LAPTOP_MODE) && HAVE_DECL_VM_LAPTOP_MODE)
 XLAT(VM_LAPTOP_MODE),
#endif
#if defined(VM_BLOCK_DUMP) || (defined(HAVE_DECL_VM_BLOCK_DUMP) && HAVE_DECL_VM_BLOCK_DUMP)
 XLAT(VM_BLOCK_DUMP),
#endif
#if defined(VM_HUGETLB_GROUP) || (defined(HAVE_DECL_VM_HUGETLB_GROUP) && HAVE_DECL_VM_HUGETLB_GROUP)
 XLAT(VM_HUGETLB_GROUP),
#endif
#if defined(VM_VFS_CACHE_PRESSURE) || (defined(HAVE_DECL_VM_VFS_CACHE_PRESSURE) && HAVE_DECL_VM_VFS_CACHE_PRESSURE)
 XLAT(VM_VFS_CACHE_PRESSURE),
#endif
#if defined(VM_LEGACY_VA_LAYOUT) || (defined(HAVE_DECL_VM_LEGACY_VA_LAYOUT) && HAVE_DECL_VM_LEGACY_VA_LAYOUT)
 XLAT(VM_LEGACY_VA_LAYOUT),
#endif
#if defined(VM_SWAP_TOKEN_TIMEOUT) || (defined(HAVE_DECL_VM_SWAP_TOKEN_TIMEOUT) && HAVE_DECL_VM_SWAP_TOKEN_TIMEOUT)
 XLAT(VM_SWAP_TOKEN_TIMEOUT),
#endif
 XLAT_END
};
