Time to get this old series out again. Since last time, Bibo found a couple of the same cases I did (for MIPS only) which I extend to all archs, and I dropped the "make the pte dirty if the fork parent was dirty" due to Linus pointing out a dirty PTE costs more to unmap. It didn't seem to help a great deal anyway on the access-side fortunately. Thanks, Nick Nicholas Piggin (3): mm/cow: don't bother write protecting already write-protected huge pages mm/cow: optimise pte accessed bit handling in fork mm: optimise pte dirty/accessed bit setting by demand based pte insertion arch/mips/include/asm/pgtable.h | 2 -- include/linux/pgtable.h | 16 ---------------- mm/huge_memory.c | 16 ++++++++++------ mm/hugetlb.c | 2 +- mm/memory.c | 15 +++++++-------- mm/migrate.c | 1 + mm/shmem.c | 1 + mm/userfaultfd.c | 2 +- mm/vmscan.c | 5 +++++ 9 files changed, 26 insertions(+), 34 deletions(-) -- 2.23.0