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 32D14C04FF0 for ; Thu, 11 Apr 2024 15:42:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C66506B0087; Thu, 11 Apr 2024 11:42:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C17426B0088; Thu, 11 Apr 2024 11:42:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE0876B0089; Thu, 11 Apr 2024 11:42:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8AD5C6B0087 for ; Thu, 11 Apr 2024 11:42:44 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 511661C10DF for ; Thu, 11 Apr 2024 15:42:44 +0000 (UTC) X-FDA: 81997668648.18.A62A938 Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) by imf09.hostedemail.com (Postfix) with ESMTP id AFDEF14000C for ; Thu, 11 Apr 2024 15:42:42 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=xvv4kDpK; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of surenb@google.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712850162; 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=emVrn6/X7HIVwrwVbAdXhWseE0fgME6QfLwQFErW8lw=; b=yjIV9DJmiA91vscZw2TPsGmdJUEO3Os2DYthzvIRjCjKWhj6KUJe1fP+eFt4U2QhrjTn6r 4KoCd5OzJroPkZX/LBlTnsYhFk8EQlq1TBJ5t38WQzgxWJjlZv/VzgcreeZABKBqO/kzPP mkGlZzSiD7mGN7umFJ1uSyiu0QHhBQM= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=xvv4kDpK; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of surenb@google.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712850162; a=rsa-sha256; cv=none; b=bSq/0NuuVCbMgJTMUNFa72CoCwd77pzdtLDuSRwGYyuVgqiSk40KcSchR7Jv2e8uvu5c9M OZ9xbH4sJ7/2OJutjHS/mNbFKs0+W9PvHUUZic3paAV8+3LRBKbWd6eTIztEzZ8qUlAKIz +6QY7IcFsR8WH/wRjhRuqXZIG4HlNf8= Received: by mail-yb1-f180.google.com with SMTP id 3f1490d57ef6-de0f9a501d6so4394800276.3 for ; Thu, 11 Apr 2024 08:42:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1712850162; x=1713454962; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=emVrn6/X7HIVwrwVbAdXhWseE0fgME6QfLwQFErW8lw=; b=xvv4kDpKlslz600Y3etTDBexfR5nvzRWhh409zz88vD1CJCaRB2xygGRscTuOg53we oDxLCMUTQTVD91P+5assHLkIyJhl5lZcXANUMc2MPHGAk+7EudgTH5E+9BkPyUsdyXMT 4N4EhqWshbIEDojijFc05wCiyGUbzpc45rCcogq2qr/UVfeILRNUw9vIeqHHSAnVtBdb z1Nc95e4yp5bGsFxJwmTyzC0rTV1kNrOvJQ3LxFIVFyiRKfzYsrXabG6ejaLo6nnrrHy kNsoaYJSqc/zFpmqsyODog9esOp02O0Gkd7Rnf48xrFZn5H6NNVS8K/kvs0dA+/idxWv cCJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712850162; x=1713454962; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=emVrn6/X7HIVwrwVbAdXhWseE0fgME6QfLwQFErW8lw=; b=Gmd24+tYk4KI4FYIrTDLid0rmmRSd39u6T/Bw9er2wsLWBsGxCsLZ8QbwP9LEBQzFA VZeszAFCLOlnvE7m46lMc2eMLmkq/OuYLtUh2MxC1T1ChamKZwaPEJulSd9qM1DInZFo HlS+if1Du8DttX74rIYUWtgSBl0DunsxaEW5/yWXdaBkxf0sA2S1WEL6+9iN21Ie13wv R6iSfbMHgTb5YjvSO8CxctBjnulHxLNJAfW2Yi83KAyaYCN7aqbcLFvMAwmfE7pMqsb1 TnCqbWdOP+hRLiL3Q2yvXNX2TSrx/XSwBvXdJgXBKYMeyUsaJu6t0AotCtF9YWAe7WmR xD6Q== X-Forwarded-Encrypted: i=1; AJvYcCW3avYhfSybGKWKIfiY8kdrbEsbD2FOfzPfn/Ljx+2g+n3nEYWMx22cGoOS8JHre53GmZWCHjiOyKsSKm8BKdc7SrE= X-Gm-Message-State: AOJu0YxFdT6x/7mh+1fr3kYTqtGyW7gcsoDH3TpDe4kmcHFVsR4zMylJ QWdePIyfIhEfED2o5M7EebvEnKT/tdH5c1RSf5SpI0L55i4OkwifBPCRVlrDCQZiODiIgQAmNP9 vPZmMdn6SmeZGLcIjQepZtRMr8k9YKHzZzRqX X-Google-Smtp-Source: AGHT+IHdqaGJdNHQZfv8/iARuu43IXA9KciendMfPcOMNTNNrWbe69SecPwxLIupNq50imWvq+MmoXztMkheqgcH3OE= X-Received: by 2002:a25:a527:0:b0:dc6:bbeb:d889 with SMTP id h36-20020a25a527000000b00dc6bbebd889mr5412038ybi.52.1712850156683; Thu, 11 Apr 2024 08:42:36 -0700 (PDT) MIME-Version: 1.0 References: <20240410170621.2011171-1-peterx@redhat.com> In-Reply-To: From: Suren Baghdasaryan Date: Thu, 11 Apr 2024 08:42:23 -0700 Message-ID: Subject: Re: [PATCH] mm: Always sanity check anon_vma first for per-vma locks To: Matthew Wilcox Cc: Peter Xu , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Lokesh Gidra , "Liam R . Howlett" , Alistair Popple Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: AFDEF14000C X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: udktiswjyf7gzi967pb1mqyowj57mika X-HE-Tag: 1712850162-347555 X-HE-Meta: U2FsdGVkX1/tLzN7ejVw4i9fQLSMzsH7NrdmQ+/b2AkgPB0CC13W/6LZVm5cJozDCa7lWffOoIJ6U5d3MPLQy5jiyWIOp65z8aGgLHla0uE+Sn1ZnOclVmoHp7Lp/EOAK6v8b2eJVxV4kHZQGyHkmrAzUg/sq36aYJ/o3TNx3r3MXucvnqgF1EQxjeIXD2Bxzzzhv785025lcEnMjLnqZOagXq6OXnVZi7BPMCqjhR4wfpAmZ6APecmilOXasAoffWQoJQsn3w89wwlJydjZHcGvazowmDlnFSO5mq5eBoT7yaeVcnusxVBjj7H/hoKM9y3CI3iNtULZwrZTB3Q7iYxzCwqOn7nDI2TZ5e6qsZFqJ6gG0fdKZhTa5kyizKUPWpqbeebjEXodZPDUxOusFy5ZJddVeio1YmNjvAFxwy75oBj28VFavFQMP+U2GVGwtwwiv9JovRl4zCPLDoLXUjKGq78brtmsNfbPxVYvUVP3YmhIKcDIp6aBnFibgjkcQujeF8MWrTXNuoQ+387Ne9k42Dqbk2n4ddoQntSSK0YwHdgKlE+c0vrkXTq4B9+yoEBl1dSDxTHSfMcmBQ8TsivMmgLchKXhKZAZ8Jb7BYoR950OpzMWJhABpPjGmeiWHnxRO0xJWh+jkgNRclpzxxOTflNFKxBqcrfb3QUNTr0Zx4p1N426dpj/vZM9MHCyBoB8LMiA4XHQdoxBGyB8RlY9m493M27QEgKajINeAAm6usA9b3Rrbe3rmyl5Xv5RcETBHegkdY8pR5rKyPuF/2CQx3rywpy/84qvGY+l+FXV/+YyrcpS7hfdvFJWJ4AK5v9yCXlGRBkSKzpuVpkEplo1tPwCPIFZsNZXv3QX5v7iJCF8o/xEj49nciRqLrNhts9dmrHF93QEPkxv+pJ/ipsFBLZXvNveXJjU9nHGNf2dHidWjgqQHwFBQVyo4eox8DB/C9gupFGEVmEoI16 CBraR4rM Cj1o2F02jkPzXhHq3amNyQxRnW/rTKeCxY8O6UyIVaVd+5dQ= 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 Wed, Apr 10, 2024 at 1:26=E2=80=AFPM Matthew Wilcox wrote: > > On Wed, Apr 10, 2024 at 01:06:21PM -0400, Peter Xu wrote: > > anon_vma is a tricky object in the context of per-vma lock, because it'= s > > racy to modify it in that context and mmap lock is needed if it's not > > stable yet. > > I object to this commit message. First, it's not a "sanity check". It's > a check to see if we already have an anon VMA. Second, it's not "racy > to modify it" at all. The problem is that we need to look at other > VMAs, for which we do not hold the lock. > > > So the trivial side effect of such patch is: > > > > - We may do slightly better on the first WRITE of a private file mapp= ing, > > because we can retry earlier (in lock_vma_under_rcu(), rather than > > vmf_anon_prepare() later). > > > > - We may always use mmap lock for the initial READs on a private file > > mappings, while before this patch it _can_ (only when no WRITE ever > > happened... but it doesn't make much sense for a MAP_PRIVATE..) do th= e > > read fault with per-vma lock. > > But that's a super common path! Look at 'cat /proc/self/maps'. All > your program text (including libraries) is mapped PRIVATE, and never > written to (except by ptrace, I guess). Uh, indeed I didn't realize this would be the side-effect from this early check. And that's exactly why I wanted Matthew's input on this in [1]. > > NAK this patch. >