On Tue 24-02-15 04:54:18, SeongJae Park wrote: [...] > include/linux/cma.h | 4 + > include/linux/gcma.h | 64 +++ > mm/Kconfig | 24 + > mm/Makefile | 1 + > mm/cma.c | 113 ++++- > mm/gcma.c | 1321 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 6 files changed, 1508 insertions(+), 19 deletions(-) > create mode 100644 include/linux/gcma.h > create mode 100644 mm/gcma.c Wow this is huge! And I do not see reason for it to be so big. Why cannot you simply define (per-cma area) 2-class users policy? Either via kernel command line or export areas to userspace and allow to set policy there. For starter something like the following policies should suffice AFAIU your description. - NONE - exclusive pool for CMA allocations only - DROPABLE - only allocations which might be dropped without any additional actions - e.g. cleancache and frontswap with write-through policy - RECLAIMABLE - only movable allocations which can be migrated or dropped after writeback. Has such an approach been considered? -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>