[Devel] [PATCH RHEL7 COMMIT] rh/mm: PTE isn't dirty when _PAGE_SOFT_DIRTY bit set
Konstantin Khorenko
khorenko at virtuozzo.com
Thu Jan 14 04:58:01 PST 2016
The commit is pushed to "branch-rh7-3.10.0-229.7.2.vz7.9.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-229.7.2.vz7.9.20
------>
commit 47299868b3655a16f5e30553050319a5d2df7a19
Author: Dmitry Safonov <dsafonov at odin.com>
Date: Thu Jan 14 16:58:01 2016 +0400
rh/mm: PTE isn't dirty when _PAGE_SOFT_DIRTY bit set
PTE is dirty only when _PAGE_DIRTY bit is set, not _PAGE_SOFT_DIRTY.
This misbehavior was introduced on importing RHEL7 kernel-3.10.0-229.7.2.el7
So, it seems to be the reason of twice writeback of mapped files &
similar issues.
https://jira.sw.ru/browse/PSBM-42094
khorenko@: RedHat has implemented own memory dirty page tracker which
intersects with vanilla's soft-dirty engine (which was implemented by us and
which we use). And rip RedHat's engine off, but forgot about this hunk
=> this patch fixes
commit d55d4b7d858f83e763bc9803ffcfe7f61c69ce63
("rh/mm: Drop off Live Kernel Self Migration (TRACK_DIRTY_PAGES)")
Signed-off-by: Dmitry Safonov <dmsafonov at virtuozzo.com>
Reviewed-by: Vladimir Davydov <vdavydov at virtuozzo.com>
---
arch/x86/include/asm/pgtable.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
index f909164..da8b030 100644
--- a/arch/x86/include/asm/pgtable.h
+++ b/arch/x86/include/asm/pgtable.h
@@ -90,7 +90,7 @@ extern struct mm_struct *pgd_page_get_mm(struct page *page);
*/
static inline int pte_dirty(pte_t pte)
{
- return pte_flags(pte) & (_PAGE_DIRTY | _PAGE_SOFT_DIRTY);
+ return pte_flags(pte) & _PAGE_DIRTY;
}
static inline int pte_young(pte_t pte)
More information about the Devel
mailing list