On Mon, 2017-07-24 at 13:18 +0800, Huang, Ying wrote: > From: Huang Ying > > The normal swap slot reclaiming can be done when the swap count > reaches SWAP_HAS_CACHE.  But for the swap slot which is backing a > THP, > all swap slots backing one THP must be reclaimed together, because > the > swap slot may be used again when the THP is swapped out again later. > So the swap slots backing one THP can be reclaimed together when the > swap count for all swap slots for the THP reached SWAP_HAS_CACHE.  In > the patch, the functions to check whether the swap count for all swap > slots backing one THP reached SWAP_HAS_CACHE are implemented and used > when checking whether a swap slot can be reclaimed. > > To make it easier to determine whether a swap slot is backing a THP, > a > new swap cluster flag named CLUSTER_FLAG_HUGE is added to mark a swap > cluster which is backing a THP (Transparent Huge Page).  Because THP > swap in as a whole isn't supported now.  After deleting the THP from > the swap cache (for example, swapping out finished), the > CLUSTER_FLAG_HUGE flag will be cleared.  So that, the normal pages > inside THP can be swapped in individually. > > Signed-off-by: "Huang, Ying" > Cc: Johannes Weiner > Cc: Minchan Kim > Cc: Hugh Dickins > Cc: Shaohua Li > Cc: Rik van Riel > Acked-by: Rik van Riel -- All rights reversed