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 07F93E77187 for ; Wed, 18 Dec 2024 17:36:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 70D056B007B; Wed, 18 Dec 2024 12:36:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 695306B0082; Wed, 18 Dec 2024 12:36:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 50E7F6B0083; Wed, 18 Dec 2024 12:36:58 -0500 (EST) 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 324526B007B for ; Wed, 18 Dec 2024 12:36:58 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A7EE0B0543 for ; Wed, 18 Dec 2024 17:36:57 +0000 (UTC) X-FDA: 82908784560.05.F82EDF8 Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by imf19.hostedemail.com (Postfix) with ESMTP id 45FF21A0008 for ; Wed, 18 Dec 2024 17:36:22 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=r3YI7HBG; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf19.hostedemail.com: domain of surenb@google.com designates 209.85.160.174 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=1734543401; 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=m0vfn6bhlwxecxuXb6dYP6hPbz693aH5SVOsaZLPny0=; b=k8lS9VUGcYJibRI88oWIfVdDoybC9olIro4eWvgIZkBmtYYJKDpnzS2bHOON8uUlSO5I/R fBOkX2Re8rN7FDywU0FSeMKruif9wqGRE7txxkCCee2rclKjeXvtmx7mW8W45i4QjdItq5 9UkONB3niGiiZUzikWcIISsi/cjQvYg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734543401; a=rsa-sha256; cv=none; b=64ffsgimpQbx1wSisGhRG0n3q0U5rsw6/E1nR3M731rv0qGKfKC868EnBcRl5PZstEZL0A 02xGpF+nkjUNpe/ANT1rEJtCYwXP5qEpjGKH4lZgM7IpWvJP8/yT1j8USgONwcdxKmo+TG XfXn9w6+mGD5AUUNyKGVc31Cv2TCWY0= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=r3YI7HBG; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf19.hostedemail.com: domain of surenb@google.com designates 209.85.160.174 as permitted sender) smtp.mailfrom=surenb@google.com Received: by mail-qt1-f174.google.com with SMTP id d75a77b69052e-467896541e1so329631cf.0 for ; Wed, 18 Dec 2024 09:36:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1734543415; x=1735148215; 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=m0vfn6bhlwxecxuXb6dYP6hPbz693aH5SVOsaZLPny0=; b=r3YI7HBGGWkNi+MgNYMzCPZgxmY2nIy5FHVUUjUA2dIhNlV43hjEol/N+GP66ShrK2 fA+Rcb4fPF3JoAReGFEF+SEBWHkztyv62MItC4iLD6oiRJHqf3CNJJ5cRunLAhd5JKgz GmX8EEbfRoXMOJGatfWHaJQa5q3q6z3EhJTe+UPOo+tWPJGo5n9lXf5LaZTGz9zs+6+G AA1+5v2a7jsdLdEm0FCtbn+y89CZ1VtgB2sLxx+F99jR7wv4kQznb6V1EbmAvwZBIXBg 6bV9nTaaAj563SeizzWzBTRm1xqwnCscFhlA3aN1i6cJTi2Pmd4+D0h6T7kgO/HUnda9 /WqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734543415; x=1735148215; 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=m0vfn6bhlwxecxuXb6dYP6hPbz693aH5SVOsaZLPny0=; b=WABBxT9NT5AH9W8utNJnXZ/2wu+aARAYtLkC6dUzSr1e+wUZL/suzL45y1hnY+eIHw TK0DaIIhzMHWoiiBzuMcDZ8iP/VOEQ+fL4BQ7mweP2mFKniUcKrXQnNFz2e/fBKJdyAO eIjUu5+fT4fIjfpLEklv06KaaV+4aCcGtryV75ZDmpNTQrXJ1bXKy+En5IgjxD38Egwj IpMt9kUTU8iI9sJEygnQ6s7YHY5wHTSABhlXSyaYJfG5XuVpaCOUO7yr1Z/ktv7vmlS3 bQTGUZ7NFjUNhhXcgBs2uE7F+sP6U+1KAm/Vv2asyFKJr543aqxciq1nnEIcKoc5kKxa Byxw== X-Forwarded-Encrypted: i=1; AJvYcCVQb+BqTfjhLW7uGtBoPav52CmzyK5XtrU/ALruD5mUJipYss3/NTQDK3wrSKyP/5wbZZEegOJ9Ag==@kvack.org X-Gm-Message-State: AOJu0YyC1rUee42LNEs8P9PRgpByuJrpISmVd6kQzr9HE0PXL0y93IFb vM0mUXKgSeNrSQYEOMVqbhOpCY+S2RlZe1T+izxFe5ca65YWhq4BI2YqNLCsKiWfhUaMpOEe46/ 6nSrHGvCllgr+TGn37LDXJNlVs1Z2c786zlRC X-Gm-Gg: ASbGncukQ/842VrnteSe7Y5gME6J0p/2ixz3h4YZsZF9PptuBcyUg4xIUTuFG0HZ1kM lUJCX1S/9eILu5A9C4Jdym1IZ8xRLhtSlot4U05nIbEL2N+n8NT27pHuuqjGS8S//tu4W X-Google-Smtp-Source: AGHT+IGMu+Fj74Kmd9s7J7Dznm0MZkBkIafyhPdHZUPGuFhyoczRa/3F4QXVJ+UN1W0v/f6cjbq7NN7ZQU6azKiRO70= X-Received: by 2002:a05:622a:15d5:b0:466:8618:90df with SMTP id d75a77b69052e-469090c3bfbmr4631431cf.2.1734543414563; Wed, 18 Dec 2024 09:36:54 -0800 (PST) MIME-Version: 1.0 References: <20241216192419.2970941-1-surenb@google.com> <20241216192419.2970941-11-surenb@google.com> <20241216213753.GD9803@noisy.programming.kicks-ass.net> <20241217103035.GD11133@noisy.programming.kicks-ass.net> <20241218094104.GC2354@noisy.programming.kicks-ass.net> <20241218100601.GI12500@noisy.programming.kicks-ass.net> <20241218161850.GG2354@noisy.programming.kicks-ass.net> In-Reply-To: <20241218161850.GG2354@noisy.programming.kicks-ass.net> From: Suren Baghdasaryan Date: Wed, 18 Dec 2024 09:36:42 -0800 Message-ID: Subject: Re: [PATCH v6 10/16] mm: replace vm_lock and detached flag with a reference count To: Peter Zijlstra Cc: "Liam R. Howlett" , akpm@linux-foundation.org, willy@infradead.org, lorenzo.stoakes@oracle.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mjguzik@gmail.com, oliver.sang@intel.com, mgorman@techsingularity.net, david@redhat.com, peterx@redhat.com, oleg@redhat.com, dave@stgolabs.net, paulmck@kernel.org, brauner@kernel.org, dhowells@redhat.com, hdanton@sina.com, hughd@google.com, lokeshgidra@google.com, minchan@google.com, jannh@google.com, shakeel.butt@linux.dev, souravpanda@google.com, pasha.tatashin@soleen.com, klarasmodin@gmail.com, corbet@lwn.net, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: x4r1fobpj3meqr5aub1tu1uwg3355tdr X-Rspamd-Queue-Id: 45FF21A0008 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1734543382-820703 X-HE-Meta: U2FsdGVkX18ozA8EO+zyVW/Ef7DH9nB/q/e3+pQGPAr70OdtPUnljSTY0Aep7YY906A4I0zbESznTMU/yGpekUROGnx87pshcGpYx9SLmGTB3I7Y8tRjPP5WCeTHPfuQ6Vw7qmGTjskoaGqScijR1G2NmSNTVfzqVCQcYnl0F8PqqEPlSwRx4OL0t90JxoWx/MTtL3df9IsUTuTLaLLaqSnlIiUx9WyCWjNkOg3msqSpalVPafx63AlUh+iT9sCDpzxTLeqepNhgjXBaLFyGA8W5VZU3Xt3R/UiAkl8jfDHvTbaE/f3yIe0J5ZxpWGgSaaFE9Yq0H9+fLCacIvT57yo50+7WYgJJfrThnqZ9/v88BSk1cbLpAMAQXeY5t8LpcJ6poWVUMBc/e/iu66z9iaF3vUb891F3mz717IvIy05M1UHhh4e8zApiy4iUvC+e6Gr8chfJOPn1Q4NPMaSch6ptb8osNXAKgADadkqu/4hHeYpAk10/7YB5t4dJ11pZAm+5BXXW5yzVNOOSzXtbx1veT8uU+VILmAy1QaiGKJUWJ2HgE4dLWDJeB2PiUjGxPWYl7+R6gzNLku6foaUBl3LvuDv4Q0L2A0wek/s0WznJ+IkgewCRCnCXEQFinOwi6tRVLsLBT34pcX0JI38oe/dfiDd6Il3hrkO2IMQHE6MUoV9teTQSq6YDu/YcB1/gW2WDtA7plOPq3cRCtlnKbDciSf9wGYl8+cuVGLaF6Bjp3nEVm3i1/dZFi/aJ10Uuh7GELAsOs1rrZxeBXOGq/1XR8GzSd4sb4pTVm9njYel70+eyYXUyNNe4vMmErni/snNARsT7S8kIWdGkVrmNy4rKz8IIYZI65+giJJ9KCy9h/HxH0i7wqnElEF4I/llKN/bsYhdYT2zbg9aFvPPaVUIbgw9GFO2v6othLxjngcHoGZbWMzefJDCNj13aZcNflRgoRcHadvA1Th+bfSa rrS0CB2E 6pViuePKXuoElrJEizwNDE9A5+MjPF8ut9larzD6//W5jsRPF24it83X3W4NV/VKPlpOzl69fMaAe8jOCVVjiyOeclUUyhLMXnGy4gp8aE+xm3vms4lVyJQS8dtZiUAEwYIAHENPDM0WzzWl7KzfD1nHhSVgU3fUFISlZNq7R3Bd3FuVzBywve4dZvEPDLmhetELreNzNOuU7YK7CM4+F7VcpspEeeKIdZR6hS5mJCQcpbxftppIdmNwH45heEhD4u3uE9Fa2V0bCrbdV8oR3AJmlfYQu9VdPq3injuFwWsO3Seo= X-Bogosity: Ham, tests=bogofilter, spamicity=0.056966, 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, Dec 18, 2024 at 8:18=E2=80=AFAM Peter Zijlstra wrote: > > On Wed, Dec 18, 2024 at 07:50:34AM -0800, Suren Baghdasaryan wrote: > > > I think vma_start_write() should be done inside > > vms_gather_munmap_vmas() for __mmap_prepare() to work correctly: > > > > __mmap_prepare > > vms_gather_munmap_vmas > > vms_clean_up_area // clears PTEs > > ... > > __mmap_complete > > vms_complete_munmap_vmas > > I'm unsure what exactly you mean; __split_vma() will start_write on the > one that is broken up and the rest won't actually change until > vms_complete_munmap_vmas(). Ah, sorry, I missed the write-locking in the __split_vma(). Looks like indeed vma_start_write() is not needed in vms_gather_munmap_vmas(). > > > If we do not write-lock the vmas inside vms_gather_munmap_vmas(), we > > will be clearing PTEs from under a discoverable vma. > > You will not. vms_complete_munmap_vmas() will call remove_vma() to > remove PTEs IIRC, and if you do start_write() and detach() before > dropping mmap_lock_write, you should be good. Ok, I think we will have to move mmap_write_downgrade() inside vms_complete_munmap_vmas() to be called after remove_vma(). vms_clear_ptes() is using vmas, so we can't move remove_vma() before mmap_write_downgrade(). > > > There might be other places like this too but I think we can move > > vma_mark_detach() like you suggested without moving vma_start_write() > > and that should be enough. > > I really don't see why you can't move vma_start_write() -- note that by > moving that after you've unhooked the vmas from the mm (which you have > by that point) you get the sync point you wanted. > >