[PATCH 2/3] mm/cow: optimise pte dirty/accessed bits handling in fork
Linus Torvalds
torvalds at linux-foundation.org
Thu Aug 30 01:42:09 AEST 2018
On Tue, Aug 28, 2018 at 4:20 AM Nicholas Piggin <npiggin at gmail.com> wrote:
>
> fork clears dirty/accessed bits from new ptes in the child. This logic
> has existed since mapped page reclaim was done by scanning ptes when
> it may have been quite important. Today with physical based pte
> scanning, there is less reason to clear these bits.
Can you humor me, and make the dirty/accessed bit patches separate?
There is actually a difference wrt the dirty bit: if we unmap an area
with dirty pages, we have to do the special synchronous flush.
So a clean page in the virtual mapping is _literally_ cheaper to have.
> This eliminates a major source of faults powerpc/radix requires to set
> dirty/accessed bits in ptes, speeding up a fork/exit microbenchmark by
> about 5% on POWER9 (16600 -> 17500 fork/execs per second).
I don't think the dirty bit matters.
The accessed bit I think may be worth keeping, so by all means remove the mkold.
Linus
More information about the Linuxppc-dev
mailing list