From mboxrd@z Thu Jan 1 00:00:00 1970 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 ED4EBC4345F for ; Fri, 26 Apr 2024 15:50:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8170C6B00A8; Fri, 26 Apr 2024 11:50:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7C7016B00A9; Fri, 26 Apr 2024 11:50:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B5F86B00AA; Fri, 26 Apr 2024 11:50:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 4D4416B00A8 for ; Fri, 26 Apr 2024 11:50:26 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 0884516144C for ; Fri, 26 Apr 2024 15:50:26 +0000 (UTC) X-FDA: 82052120052.01.D23DF86 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf06.hostedemail.com (Postfix) with ESMTP id 63AD018001C for ; Fri, 26 Apr 2024 15:50:23 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=fS3UbrvO; spf=none (imf06.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714146623; a=rsa-sha256; cv=none; b=79WDtGDf5VZRFEDMxzcs7m215tTbx7SrVLYiLebUNbrYlj+SpLB9wb4LJki04QBhO5B3SN qRiJ6zLVoFG6pemRb9OlsHCsFKBvKU2wwLWWYfmjJOU5yQifyRe4nRmoKepRDaQ2uzbsdd h5+UB5cKyUUYR+kTy+0/AYquFlVblHE= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=fS3UbrvO; spf=none (imf06.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=1714146623; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rmx/bNaH6jOY5MArnPPn/57lIrpuzyHqYg+CoUfdaWI=; b=czMAGxuATVgN51I56MqGWLOvitMOOjPFkb/S4+53obZtR7rXmLwHXBlXg2msgRH4CigvlQ DpvYmJYo9lWJhBOWF+7u1AC1p1WInY2rVzURW7zgxZrgPitw8kOlQummxpCs7sS0aTfQ3z wdVyZQOZdArm6IfCQz6KRo3MPrNtuQA= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=rmx/bNaH6jOY5MArnPPn/57lIrpuzyHqYg+CoUfdaWI=; b=fS3UbrvOeyZMD2muMoPGGgC1n4 IzIDuZX+8heQ3k1uxFxvcXcB82bAyTAwYnrKs72KIo1cykz+yMwIlvsY+z8otw5/hl5CpF8kgtklo muKEndxlm37F9aYgSU1/yqAzKjZ5yQqGAH+tna4spCG+lqJLTNh5pebl7bbxVeH4EvO9s4BSNRHSE 2KR21R5zxTLB/tLI5IK+WeQw0hTYz4clqdUAErxQNINBWVjFjzd7gTxvQ06PWxt/T5BvNSSJ8MWCv 7O0mGn/tgup6kJm1XOQ+SJ7ePo3j68XdUScyzhSEPV8VzQu3PMLCWzsk0Jptfg1lRYSlvlnJbOtsC 5uiu5k1g==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1s0Nq7-00000005W77-24sM; Fri, 26 Apr 2024 15:50:19 +0000 Date: Fri, 26 Apr 2024 16:50:19 +0100 From: Matthew Wilcox To: Suren Baghdasaryan Cc: Peter Xu , "Liam R. Howlett" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Lokesh Gidra , Alistair Popple Subject: Re: [PATCH] mm: Always sanity check anon_vma first for per-vma locks Message-ID: References: <20240411171319.almhz23xulg4f7op@revolver> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Stat-Signature: wwjg8onhfgghsdieyjhde9dc4mboef43 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 63AD018001C X-HE-Tag: 1714146623-180785 X-HE-Meta: U2FsdGVkX18tTJoYrvIF17UaGkMdftBgmU5WhcZxUR6pYMRggPNKSAlja1veRYKAjv71QhnF78XQGpWkEhIvJVj244nWxV5yF+uzzGTmJnenMWTqfUNWtj1ihs09mG7ltlAEUR0JyI7+yNPrBYrp/I9/KiMTQmky9wGNOStzjivtJhTIl5cPeCMULsnQYSCM+oX258DSYUjOsEtlR1Rq22uu6j0VOOHbFd9/jcacrujq46ozpso3VBG/NfM193ue6yNdfeWVfSqdnZy06I/lZBNdhZ2NlvIcU1FvXuoS+IxFUTOXI5ch8HosPPC5b8OhQ5khbOoTAFcmtGgajO6EaPz9CzGBvZIgmPdZVbKXjDOAbbYa5rmxHd7Yt3CCmP9HB30eub68pnb3YnKFqzSa6Z2BrPLGVcK6t7GMNzidTm9JxJr9m9fKxjCzgAgYPYD3hVsBifIBvUbNg/eO+sJWghku/xRIgUZ4BXsllDdW30eaa5xH9Xe0zRggr1fnHcUZRFHSm7VtNAR3DlOQRgNMSd1TEAKO56TtD2nyFNucocOP+OipyQNbJHTuxLFD8bHunejIs02O0MnkXIAP8K2oOTyRdDTc2gHKb/uJE0l6zxk6VK+APPVZ/dd7qfPfGoH3Epk7UoT9HGY7OX2XcnsUhGCn3CgtJis/OsLhcAUNUyJNvkVZO3g3QNWq4Bj6yPQ+DsbOn0L02+EljiEWDwMHmVFsZZiDWUQZj1AJwO9fDPsEiO059Ldnd/ee+cJ/QjDDQWDTkb/LWeTFa69DOCq0vIyHgirjLQ2OidCZB+KZEAxCmKw7MWSJCssEWudyhwJygge9kR9BqGuiVoqAURBlz4XI1YiZ7rdnANp5YWvBf1B6/7C4oU3zOO9VsIIQgyq0mwvf3CbBuSlFBLHcMKK7AN/FsLDPF2RF2ZNnyohLFZFUnSXRmjYYR9PqMEw6qgbNuo6ONrcDk5IdO4R7Vr+ leA/KtZc HECNxtnHC+8CtxaLP6MmOGltSBlk11XJ9YFMpNHr3btoZa+ee/ZcPLtQtFt/253tbJ3zI3ggFztRhLk8KzZd7TG8rvJKex4Ijc34obMnCLdtvVczKfrHW0yanWXR4EeojMHSiIfh2fpmG90RleK5kbTxMOAUMF85C+kGlj07U+Am2d6lZwhSaaMa7iLFY2ZVopjfzqpBS2BB41rFwmMhQ/l0tVGxH9lPgE2uffaWK/s4jfF1XGCV3QhzGUDFsL2vx54x33H0sFz7JpoRCIwijZiGT8UJeZtSpb117xQaHzDSW6aVcx3y+6cOQnvc5oVXIYbQ0NTYoQKjm/U4+d37j5V0dh37g5Bb5ARghWPBbZYm8jLU= 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: On Fri, Apr 26, 2024 at 08:32:06AM -0700, Suren Baghdasaryan wrote: > On Fri, Apr 26, 2024 at 8:28 AM Matthew Wilcox wrote: > > > I think the only path in either do_anonymous_page() or > > > do_huge_pmd_anonymous_page() that skips calling anon_vma_prepare() is > > > the "Use the zero-page for reads" here: > > > https://elixir.bootlin.com/linux/latest/source/mm/memory.c#L4265. I > > > didn't look into this particular benchmark yet but will try it out > > > once I have some time to benchmark your change. > > > > Yes, Liam and I had just brainstormed that as being a plausible > > explanation too. I don't know how frequent it is to use anon memory > > read-only. Presumably it must happen often enough that we've bothered > > to implement the zero-page optimisation. But probably not nearly as > > often as this benchmark makes it happen ;-) > > I also wonder if some of this improvement can be attributed to the > last patch in your series > (https://lore.kernel.org/all/20240426144506.1290619-5-willy@infradead.org/). > I assume it was included in the 0day testing? Patch 4 was where I expected to see the improvement too. But I think what's going on is that this benchmark evaded all our hard work on page fault scalability. Because it's read-only, it never assigned an anon_vma and so all its page faults fell back to taking the mmap_sem. So patch 4 will have no effect on this benchmark. The report from 0day is pretty clear they bisected the performance improvement to patch 2.