Message ID | 1447459610-14259-3-git-send-email-ross.zwisler@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/13/2015 04:06 PM, Ross Zwisler wrote: > +static inline pmd_t pmd_mkclean(pmd_t pmd) > +{ > + return pmd_clear_flags(pmd, _PAGE_DIRTY | _PAGE_SOFT_DIRTY); > +} pte_mkclean() doesn't clear _PAGE_SOFT_DIRTY. What the thought behind doing it here? -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Nov 13, 2015 at 05:02:48PM -0800, Dave Hansen wrote: > On 11/13/2015 04:06 PM, Ross Zwisler wrote: > > +static inline pmd_t pmd_mkclean(pmd_t pmd) > > +{ > > + return pmd_clear_flags(pmd, _PAGE_DIRTY | _PAGE_SOFT_DIRTY); > > +} > > pte_mkclean() doesn't clear _PAGE_SOFT_DIRTY. What the thought behind > doing it here? I just wrote it to undo the work done by pmd_mkdirty() - you're right, it should mirror the work done by pte_mkclean() and not clear _PAGE_SOFT_DIRTY. I'll fix this for v3, thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 867da5b..c548e4c 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -277,6 +277,11 @@ static inline pmd_t pmd_mkdirty(pmd_t pmd) return pmd_set_flags(pmd, _PAGE_DIRTY | _PAGE_SOFT_DIRTY); } +static inline pmd_t pmd_mkclean(pmd_t pmd) +{ + return pmd_clear_flags(pmd, _PAGE_DIRTY | _PAGE_SOFT_DIRTY); +} + static inline pmd_t pmd_mkhuge(pmd_t pmd) { return pmd_set_flags(pmd, _PAGE_PSE);
Currently PMD pages can be dirtied via pmd_mkdirty(), but cannot be cleaned. For DAX mmap dirty page tracking we need to be able to clean PMD pages when we flush them to media so that we get a new write fault the next time the are written to. Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com> --- arch/x86/include/asm/pgtable.h | 5 +++++ 1 file changed, 5 insertions(+)