Messages in this thread | | | From | Krzysztof Kozlowski <> | Subject | [RFC PATCH 0/4] mm: reclaim zbud pages on migration and compaction | Date | Tue, 06 Aug 2013 08:42:37 +0200 |
| |
Hi,
Currently zbud pages are not movable and they cannot be allocated from CMA region. These patches try to address the problem by: 1. Adding a new form of reclaim of zbud pages. 2. Reclaiming zbud pages during migration and compaction. 3. Allocating zbud pages with __GFP_RECLAIMABLE flag.
This reclaim process is different than zbud_reclaim_page(). It acts more like swapoff() by trying to unuse pages stored in zbud page and bring them back to memory. The standard zbud_reclaim_page() on the other hand tries to write them back.
One of patches introduces a new flag: PageZbud. This flag is used in isolate_migratepages_range() to grab zbud pages and pass them later for reclaim. Probably this could be replaced with something smarter than a flag used only in one case. Any ideas for a better solution are welcome.
This patch set is based on Linux 3.11-rc4.
TODOs: 1. Replace PageZbud flag with other solution.
Best regards, Krzysztof Kozlowski
Krzysztof Kozlowski (4): zbud: use page ref counter for zbud pages mm: split code for unusing swap entries from try_to_unuse mm: add zbud flag to page flags mm: reclaim zbud pages on migration and compaction
include/linux/page-flags.h | 12 ++ include/linux/swapfile.h | 2 + include/linux/zbud.h | 11 +- mm/compaction.c | 20 ++- mm/internal.h | 1 + mm/page_alloc.c | 9 ++ mm/swapfile.c | 354 +++++++++++++++++++++++--------------------- mm/zbud.c | 301 +++++++++++++++++++++++++------------ mm/zswap.c | 57 ++++++- 9 files changed, 499 insertions(+), 268 deletions(-)
-- 1.7.9.5
| |