From patchwork Fri Apr 26 14:44:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13644918 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DE8FCC4345F for ; Fri, 26 Apr 2024 14:45:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B6F26B008A; Fri, 26 Apr 2024 10:45:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 467646B0098; Fri, 26 Apr 2024 10:45:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 356436B0099; Fri, 26 Apr 2024 10:45:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 164D96B008A for ; Fri, 26 Apr 2024 10:45:14 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id CD8FAA092D for ; Fri, 26 Apr 2024 14:45:13 +0000 (UTC) X-FDA: 82051955706.16.DABD40F Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf13.hostedemail.com (Postfix) with ESMTP id 9A72120029 for ; Fri, 26 Apr 2024 14:45:11 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=hc21nnLK; spf=none (imf13.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714142712; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=o7qI+oHpjf5yEmGWpYFrF9RlIktcdn3SLb9+EApTOWc=; b=115ZRU5H5ODGveqCPHMH2K+dP2oNjopDPM5hHXzNYbBXusvEACPY1FXYQbrvEYzjPtFODx nVgTQQ5rIpOOva5UFGf+i0jV9v/fSikb5Ysevt6ntCTF5AMpHzx9pfZWquOaQPTN8cGMAB pOsdC1U9ZZjJrYU2IJEb84dxjAEBTZk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714142712; a=rsa-sha256; cv=none; b=pPHTRGOuoyK9h454ZdcIP1IpDAs6567JhZW3DVfG36rq40dlU6kxpV7guVrKD5pU9JdtZ5 yeKSFQLjcQk+EJwW5BGKcVPT4L4YOi2QXoc037r78lMVAD2vrpNTMFkM6ILyxBnTXbtTlg DXGB9BSvFXj+hBjCUE+07OaZ2va5DAQ= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=hc21nnLK; spf=none (imf13.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=o7qI+oHpjf5yEmGWpYFrF9RlIktcdn3SLb9+EApTOWc=; b=hc21nnLKTaS/q3yIYyF6Vjl6qN qgj47dlUDUKMu8LeYDfZS4FOXx0YIafZ8N8AeA4WrulGwM01v67I9oL+aZ+FGNQXLWjRMToW9ha6y rQhqlwqQe4dfyIrWmE7HYS4qOMlPFF0X1R9Q2S7k6JO6D2+qNccN/eoeLKAuOgFTeJMvne2HTn8AB BKo8ZzbxCpk2EmdV8n6DbGeNqSRYzl9QQ0l3U8PNV9fa0YyucQbarv9ovcNXWCaqheh5ILbQpuhPS /3T5XpPnF4fbHGrj8HlqZS9RVF84QKUHjHFBhjFNTfCdwMmglocimUzHk9pBKNJq0Sg891L+q0adz 6jXW4mmQ==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1s0Mp2-00000005Pky-0EQm; Fri, 26 Apr 2024 14:45:08 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , Peter Xu Subject: [PATCH 0/4] Improve anon_vma scalability for anon VMAs Date: Fri, 26 Apr 2024 15:44:59 +0100 Message-ID: <20240426144506.1290619-1-willy@infradead.org> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 9A72120029 X-Stat-Signature: dyc37qm6xm3gi6mpoa7arozh4c46dxdk X-Rspam-User: X-HE-Tag: 1714142711-699380 X-HE-Meta: U2FsdGVkX199SYgMprxaDZ/MZVObKO895tRDfiIbGFzU5vISsp/1crdx2cTldnA5nmSlvP2PcOwHCIka/mTLUzoSdbTjSLsQJo/Mxzj2EeU1PUkAGpm1r3XZFis5dWjEXFED2KXdsTQ3fLt+QKy80fM+Rsd7b42i6hv75T2QzIwZ8wBAw9uVz9F8HH3FS2gC2csHI8ky9vCH4MtUhukOR9rLXKFvwImS8UBJnznPe3lUylVZxJNic3AugXJHDzGK0//zeKK6A9X65fA3nrD6GbXO1ZoTulB2cKdIo3Sy3BT2IRik4vxSZX84I7AIaW+wUzPgADSn9vKnSnD7Ec6+2wUkhOk31Kni+YHgynEvQ1i8mIs1S2iZ7REazJ7NFxzTuvgnuW4UN64OFeFBl13WYL8ep90hPAiUhLKXTifUW3maHSk0KrjZjGhXUbFcn7kYorQ+wtS/ntg6WaPHP38nm+WKyB6K/FJ8+aCchSqjyZw157bAgQbjvadDPYldkSQ0hXp0y14ThupGvE+LiAtc7/kM89OCsSoJ6+UicqsTYfE52BdO5TODuzd7F0HBr08QsJ+aUCuuvW4oQI/Tztkwu6CTcVvNOEdnjl19zpqMNFNKtCreNYjzkIOB2xYkQufYg3AoeLMqjHbAUjICRl9KcYLd7UxKHhUmnylCj+psynNDPdJfeR/SyWKqZbEhtqAqZfmXkhc0KE0O1YPGN8xF/iStd7nHGJvxmlzrT/naLFm7YH4JYGgCqwXOYxqVb0k4lS2sH+paqg6LEkRyxOyFm7LaVsb7PSLnfg/iCJdDCNC8kQcFr9Q17/EvlxojqZvt+5H2CFeCnBj3fuRiTJfHu+PyGkzq7JkDK6WWA2Wy7RE6HTvbYFjXDqFsbFBU8ZBWe/pnl0BUviqK0r+9gwfKsqohLDquYBJCa/SkOr6SIckZEBZGn0jdpAV2+eOdAXNkSfP2Rk4eGclgblXpEG8 Lki0Xy/2 Ief4W2y8Bbe/128kflR3FqfbLexqXx6RcSgGlmn+AYCgBi+nwsy8Z+NL+xCvrdpvGyZUq+htwhV4G9Grk+ZzqWzhLCBZAqGSqCPyT1q+sdvnmhR6xSH0pBQK+EkPRYzTsk8kKcP3gkBG3aIeR9Gd25tYgpc6AQ1tMHC1TXPwijaFa1M2MjAIYYl+LfJhx0ro7ZgjW8v1mE5d759NZTQsdHyXmJg01VlgWDJ4F6BW9TF2xiLLWdoMrV1GJCQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: We have a 3x throughput improvement reported by Intel's kernel test robot: https://lore.kernel.org/all/202404261055.c5e24608-oliver.sang@intel.com/ This is from delaying taking the mmap_lock for page faults until we actually need the mmap_lock in order to assign an anon_vma to the vma. It cleans up the page fault path a little by making the anon fault handler more similar to the file fault handler. Matthew Wilcox (Oracle) (4): mm: Assert the mmap_lock is held in __anon_vma_prepare() mm: Delay the check for a NULL anon_vma mm: Fix some minor per-VMA lock issues in userfaultfd mm: Optimise vmf_anon_prepare() for VMAs without an anon_vma mm/huge_memory.c | 6 ++++-- mm/memory.c | 42 +++++++++++++++++++++++++++--------------- mm/rmap.c | 3 +-- mm/userfaultfd.c | 20 +++++++++----------- 4 files changed, 41 insertions(+), 30 deletions(-)