Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp135202imm; Wed, 29 Aug 2018 16:13:42 -0700 (PDT) X-Google-Smtp-Source: ANB0VdanSYmRj9kVG6fwQ4p07SpAAm5/GX8aooD8D2eICuNsc98Y+KiYahiyX58c9rvUkxeges2a X-Received: by 2002:a63:4104:: with SMTP id o4-v6mr7343798pga.146.1535584422048; Wed, 29 Aug 2018 16:13:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535584422; cv=none; d=google.com; s=arc-20160816; b=Bd0L7zLASz/ATIk33BHQMJwzfBVu6gWgfyOwqw5uqsVNR0foW9Bx+32pdO2u0Gv+y8 0pxBnKQAY3Z1yVO9Z45G6UFZQ57Wz/x0iTe6J9Ej3aVLf0KuBJcVJzzNJzHe6cJwX0Yz 1OhH69EB8+9stzNytKJOnk4b4s7YkR4oCVQlT/IP+bUX2wzIDCleW/XvJi9ZSi1d1AWj KjOdJB+Rf+Lz2iTxQOF6ixn9s7OtcIYnTiiRL7OWC/mfwSN0qI5RA2LL3CDK+84sbLx9 MnZV0+/z8zZjBCGf39wJSMsNfrdZk8RMA0sD3cnimAlZF5XdCrn0Fk+rMZoApWl4pjMa 3/nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature:arc-authentication-results; bh=iwpcOXQkAdKXRkCiTcrJDHXBPW7S4CUq9+j7OgaZBqI=; b=CrktNY0hLE/0jRmmU7M0NPjF9EDtgfBZN/lum+M/RXvNJJUyKnq6QUsK7gx4sb5wxD KfKPEf3AIET2+CXNAzIRuH77yE1WqeL+7YzaiGUz9R/g6/t1C0ggentSVQl3oX8y6KZv B9w+9zw5lJqymRzKlOmK6S7CIW2pC28+DXHtPauG2wCPv0bgOKb60ZEtOUYGMlOTo2J1 GjOH0qFd22Mewmo7LA6ZNfdhO7Vj17yqNBnE540znBpCjM6NZsq1QfnS0J7RAZXSDSdo WPkNx4h4QZb7XwzgPztY6WrKbKDmFUxKsoG3nOKYTydxbU5KtgS91L+WEnvkLZCgl7XP koLA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=uz3RklXg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d128-v6si2973854pfg.257.2018.08.29.16.13.26; Wed, 29 Aug 2018 16:13:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=uz3RklXg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727488AbeH3DLg (ORCPT + 99 others); Wed, 29 Aug 2018 23:11:36 -0400 Received: from mail-pg1-f194.google.com ([209.85.215.194]:41404 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727191AbeH3DLg (ORCPT ); Wed, 29 Aug 2018 23:11:36 -0400 Received: by mail-pg1-f194.google.com with SMTP id s15-v6so2980399pgv.8; Wed, 29 Aug 2018 16:12:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iwpcOXQkAdKXRkCiTcrJDHXBPW7S4CUq9+j7OgaZBqI=; b=uz3RklXgYnc2mr0cGTAJe3zRvn9Y3QWwMcnjQ+JyFapPQ+lp55stwhmvqpeAFOzJxX d1HUeeTGxmIsIuEPH9leB6U2XWvvn8JlKDEPyHE8UZQMV3y2PIs/SrMjGH+F77YdvvNq h8h8qJ6HuOeq8/j/WFtAW6GbY9dbaJAHnnPjT8wLVAM67iR07sP1qukc3vYxIuQykgff BxIPd72EecCyfm+QnNuAjlwZVGYRj6GKmfUCJKQbr6BQKHV37Dj8EV64ztFnvCqs3KoA 9K0o/vL5hIDj/bciALDdHpXbmeM19jyG555r1tz8N9/drQXFYf1+IKeja9rdgwTzp/vh IcvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iwpcOXQkAdKXRkCiTcrJDHXBPW7S4CUq9+j7OgaZBqI=; b=XEd8g8qCHhpaxjjAUOc9M4IhC1eEo3WtgeCZrkdA7t56+1PAQKRpyXJMsdpHyKpKdg 1+87/Ov+bgyNL7dgQzh1J1wdyabr/3nBlrufsgOI+BV1AtoqrsiHSZwVwJZxdS7Uh5+f LWXCK6sW6QKuOOZniasyDYnZ7WHFDmJsTQIJ7iJoxItfAJUI7e/z8bh4mJW+/leGFjjL GSoSuIpFEiVjfuLg0c6KwMK+KuDFvFxOewwzNuUd10JdCXSwB7MF0BPPxf+KCxXFCIoM nD+171hT+0Y9dcjvkQQmIAg9MxL62O6EVcSD25ff8wSCITn4E5D0N+duac6FloYTc9Qz Fopw== X-Gm-Message-State: APzg51BdZ3fenkgXLHemSwbPmGV3XTT724FG76TZZv7TntF1nfw2IF2P hmiWQA3C73anrkx8XQuZhJs= X-Received: by 2002:a62:ee06:: with SMTP id e6-v6mr7936374pfi.2.1535584343407; Wed, 29 Aug 2018 16:12:23 -0700 (PDT) Received: from roar.ozlabs.ibm.com (59-102-81-67.tpgi.com.au. [59.102.81.67]) by smtp.gmail.com with ESMTPSA id 143-v6sm7188780pfy.156.2018.08.29.16.12.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 29 Aug 2018 16:12:22 -0700 (PDT) Date: Thu, 30 Aug 2018 09:12:13 +1000 From: Nicholas Piggin To: Linus Torvalds Cc: linux-mm , linux-arch , Linux Kernel Mailing List , ppc-dev , Andrew Morton Subject: Re: [PATCH 2/3] mm/cow: optimise pte dirty/accessed bits handling in fork Message-ID: <20180830091213.78b64354@roar.ozlabs.ibm.com> In-Reply-To: References: <20180828112034.30875-1-npiggin@gmail.com> <20180828112034.30875-3-npiggin@gmail.com> X-Mailer: Claws Mail 3.17.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 29 Aug 2018 08:42:09 -0700 Linus Torvalds wrote: > On Tue, Aug 28, 2018 at 4:20 AM Nicholas Piggin 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? Yeah sure. > 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. Oh yeah true, that blasted thing. Good point. Dirty micro fault seems to be the big one for my Skylake, takes 300 nanoseconds per access. Accessed takes about 100. (I think, have to go over my benchmark a bit more carefully and re-test). Dirty will happen less often though, particularly as most places we do write to (stack, heap, etc) will be write protected for COW anyway, I think. Worst case might be a big shared shm segment like a database buffer cache, but those kind of forks should happen very very infrequently I would hope. Yes maybe we can do that. I'll split them up and try to get some numbers for them individually. Thanks, Nick