[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFwbZrsdZEh0ds1W3AWUeTamDRheQPKSi9O=--cEOSjr5g@mail.gmail.com>
Date: Wed, 29 Aug 2018 08:42:09 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Nick Piggin <npiggin@...il.com>
Cc: linux-mm <linux-mm@...ck.org>,
linux-arch <linux-arch@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
ppc-dev <linuxppc-dev@...ts.ozlabs.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH 2/3] mm/cow: optimise pte dirty/accessed bits handling in fork
On Tue, Aug 28, 2018 at 4:20 AM Nicholas Piggin <npiggin@...il.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
Powered by blists - more mailing lists