Skip to content

Commit 18863d3

Browse files
minchanktorvalds
authored andcommitted
mm: remove SWAP_DIRTY in ttu
If we found lazyfree page is dirty, try_to_unmap_one can just SetPageSwapBakced in there like PG_mlocked page and just return with SWAP_FAIL which is very natural because the page is not swappable right now so that vmscan can activate it. There is no point to introduce new return value SWAP_DIRTY in try_to_unmap at the moment. Link: http://lkml.kernel.org/r/1489555493-14659-3-git-send-email-minchan@kernel.org Signed-off-by: Minchan Kim <minchan@kernel.org> Acked-by: Hillf Danton <hillf.zj@alibaba-inc.com> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent c24f386 commit 18863d3

3 files changed

Lines changed: 2 additions & 6 deletions

File tree

‎include/linux/rmap.h‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,5 @@ static inline int page_mkclean(struct page *page)
298298
#define SWAP_AGAIN 1
299299
#define SWAP_FAIL 2
300300
#define SWAP_MLOCK 3
301-
#define SWAP_DIRTY 4
302301

303302
#endif /* _LINUX_RMAP_H */

‎mm/rmap.c‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,7 +1436,8 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
14361436
* discarded. Remap the page to page table.
14371437
*/
14381438
set_pte_at(mm, address, pvmw.pte, pteval);
1439-
ret = SWAP_DIRTY;
1439+
SetPageSwapBacked(page);
1440+
ret = SWAP_FAIL;
14401441
page_vma_mapped_walk_done(&pvmw);
14411442
break;
14421443
}
@@ -1506,7 +1507,6 @@ static int page_mapcount_is_zero(struct page *page)
15061507
* SWAP_AGAIN - we missed a mapping, try again later
15071508
* SWAP_FAIL - the page is unswappable
15081509
* SWAP_MLOCK - page is mlocked.
1509-
* SWAP_DIRTY - page is dirty MADV_FREE page
15101510
*/
15111511
int try_to_unmap(struct page *page, enum ttu_flags flags)
15121512
{

‎mm/vmscan.c‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,9 +1147,6 @@ static unsigned long shrink_page_list(struct list_head *page_list,
11471147
if (page_mapped(page)) {
11481148
switch (ret = try_to_unmap(page,
11491149
ttu_flags | TTU_BATCH_FLUSH)) {
1150-
case SWAP_DIRTY:
1151-
SetPageSwapBacked(page);
1152-
/* fall through */
11531150
case SWAP_FAIL:
11541151
nr_unmap_fail++;
11551152
goto activate_locked;

0 commit comments

Comments
 (0)