[merged] mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Subject: [merged] mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state.patch removed from -mm tree
To: gorcunov@xxxxxxxxx,aneesh.kumar@xxxxxxxxxxxxxxxxxx,gorcunov@xxxxxxxxxx,kosaki.motohiro@xxxxxxxxx,luto@xxxxxxxxxxxxxx,mel@xxxxxxxxx,mpm@xxxxxxxxxxx,mtosatti@xxxxxxxxxx,n-horiguchi@xxxxxxxxxxxxx,peterz@xxxxxxxxxxxxx,sfr@xxxxxxxxxxxxxxxx,stable@xxxxxxxxxxxxxxx,xemul@xxxxxxxxxxxxx,xiaoguangrong@xxxxxxxxxxxxxxxxxx,mm-commits@xxxxxxxxxxxxxxx
From: akpm@xxxxxxxxxxxxxxxxxxxx
Date: Thu, 17 Oct 2013 11:13:05 -0700


The patch titled
     Subject: mm: migration: do not lose soft dirty bit if page is in migration state
has been removed from the -mm tree.  Its filename was
     mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
From: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
Subject: mm: migration: do not lose soft dirty bit if page is in migration state

If page migration is turned on in config and the page is migrating, we may
lose the soft dirty bit.  If fork and mprotect are called on migrating
pages (once migration is complete) pages do not obtain the soft dirty bit
in the correspond pte entries.  Fix it adding an appropriate test on swap
entries.

Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Matt Mackall <mpm@xxxxxxxxxxx>
Cc: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxx>
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 mm/memory.c   |    2 ++
 mm/migrate.c  |    2 ++
 mm/mprotect.c |    7 +++++--
 3 files changed, 9 insertions(+), 2 deletions(-)

diff -puN mm/memory.c~mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state mm/memory.c
--- a/mm/memory.c~mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state
+++ a/mm/memory.c
@@ -837,6 +837,8 @@ copy_one_pte(struct mm_struct *dst_mm, s
 					 */
 					make_migration_entry_read(&entry);
 					pte = swp_entry_to_pte(entry);
+					if (pte_swp_soft_dirty(*src_pte))
+						pte = pte_swp_mksoft_dirty(pte);
 					set_pte_at(src_mm, addr, src_pte, pte);
 				}
 			}
diff -puN mm/migrate.c~mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state mm/migrate.c
--- a/mm/migrate.c~mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state
+++ a/mm/migrate.c
@@ -161,6 +161,8 @@ static int remove_migration_pte(struct p
 
 	get_page(new);
 	pte = pte_mkold(mk_pte(new, vma->vm_page_prot));
+	if (pte_swp_soft_dirty(*ptep))
+		pte = pte_mksoft_dirty(pte);
 	if (is_write_migration_entry(entry))
 		pte = pte_mkwrite(pte);
 #ifdef CONFIG_HUGETLB_PAGE
diff -puN mm/mprotect.c~mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state mm/mprotect.c
--- a/mm/mprotect.c~mm-migration-do-not-lose-soft-dirty-bit-if-page-is-in-migration-state
+++ a/mm/mprotect.c
@@ -94,13 +94,16 @@ static unsigned long change_pte_range(st
 			swp_entry_t entry = pte_to_swp_entry(oldpte);
 
 			if (is_write_migration_entry(entry)) {
+				pte_t newpte;
 				/*
 				 * A protection check is difficult so
 				 * just be safe and disable write
 				 */
 				make_migration_entry_read(&entry);
-				set_pte_at(mm, addr, pte,
-					swp_entry_to_pte(entry));
+				newpte = swp_entry_to_pte(entry);
+				if (pte_swp_soft_dirty(oldpte))
+					newpte = pte_swp_mksoft_dirty(newpte);
+				set_pte_at(mm, addr, pte, newpte);
 			}
 			pages++;
 		}
_

Patches currently in -mm which might be from gorcunov@xxxxxxxxx are

origin.patch
arch-x86-mnify-pte_to_pgoff-and-pgoff_to_pte-helpers.patch

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]