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 2CCD4E77184 for ; Thu, 19 Dec 2024 08:53:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4A7F86B0083; Thu, 19 Dec 2024 03:53:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 457346B0085; Thu, 19 Dec 2024 03:53:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 346006B0088; Thu, 19 Dec 2024 03:53:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 1CC8F6B0083 for ; Thu, 19 Dec 2024 03:53:30 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 97E841A14F1 for ; Thu, 19 Dec 2024 08:53:29 +0000 (UTC) X-FDA: 82911093006.09.71394B3 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf10.hostedemail.com (Postfix) with ESMTP id 23CE6C0008 for ; Thu, 19 Dec 2024 08:53:11 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=H7ZsEvMh; dmarc=none; spf=none (imf10.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734598391; a=rsa-sha256; cv=none; b=h9nH6uiUYFiCXyv004vy346V25/od9viWS4fW+ZUHMS4ZiD0sAYnuRCnH7ViVe0XJ/XUKu AdoLkKHmtZkJ0YEYNZyxX+xjd21VMjD+FnTHFpVTrswVDSUA2MtjB1/Xx1jl+jwfxkhGUS hc9KAP1JTS0juMn9408JcwjRc223iNE= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=H7ZsEvMh; dmarc=none; spf=none (imf10.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734598391; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=y+Qk/0H1J88ExtAGJUeKlKBfrqM5/qWl+ERPzAhjs/k=; b=vNPruevupU/yxb2uwVQfOS+nnfWA7/51H4XtJXhIZOeAiE9GhqL+xbzZ1p9sgluDjFDBDO HESeAy7dyOLWiKbWFSj6IDB927MucAo3Ecc3JHjiWaB8inFpXK0H6l5nmq0006gKmn2r0e VS6OknSTvrmlEUcrlWP8uEEUzD8dzKE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=y+Qk/0H1J88ExtAGJUeKlKBfrqM5/qWl+ERPzAhjs/k=; b=H7ZsEvMhH7+0jhe7C/Tf4SloAr Jy1WC3G49A4eMdpAyYm8x3GpCZYt6mjP3ZQG0VVu2dxUmjmNlHM9ZXvk6ShP1fAjTcoR3FbLt4X6N 1tfoiCcCguzCis+Dl5WifEv1uvds5ixMnulKwjUTpcyKCBH8JXpwIc+oxu7MjxFyQqDVRKjtynQrE NCiRY63JOWzCif4T07+l2Ao/gR/HtoEd6OC9Q0Zaco2UxvJBduvnA4iR7RXea/7z/OR2LewyHjifg TiewiNN8bPt1gkGit3hH05UCtyk1wkBmTrQlSOBgZZwJl5Fq38zAnjD+x0GgO9EM+GCc2N9JOWpSI 7d7nomQw==; Received: from 77-249-17-89.cable.dynamic.v4.ziggo.nl ([77.249.17.89] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.98 #2 (Red Hat Linux)) id 1tOCHQ-00000005Pw6-0A3a; Thu, 19 Dec 2024 08:53:12 +0000 Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000) id 3F6BA3003FF; Thu, 19 Dec 2024 09:53:11 +0100 (CET) Date: Thu, 19 Dec 2024 09:53:11 +0100 From: Peter Zijlstra To: Suren Baghdasaryan 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 Subject: Re: [PATCH v6 10/16] mm: replace vm_lock and detached flag with a reference count Message-ID: <20241219085311.GA26551@noisy.programming.kicks-ass.net> References: <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> <20241218174428.GQ2354@noisy.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 23CE6C0008 X-Stat-Signature: h1pt55djrmt8c83j83e8uyp1zx69wxor X-HE-Tag: 1734598391-550610 X-HE-Meta: U2FsdGVkX19Eh5+SBWuG1TpTXxyMEI4DbsEO7Gi3zL0+ubwqp0GTZ1YXOb5e0WO0V0AMeT1WCZXNmJB22R8jJaLO9p1XZagk2LgyENx+TZUl2VH1djyzZoyvSBmlzW9eTGvFPD3PC8BoGtvgEW2hyskMgsmH3RUkOVPVrvkwXjV/w/P6fJWtOk5oonsJ78rGeBESAcWlb8A+Ra+PriaJh2WbWIKnX5Czft06zID0IAw5UkvFA+KFGE6HKAcvdRbHouaY5vpfObJ7RT+e27S4GUfhrq/IO4T/6OEwcwxk0gKw1fJiEwrSF7YnioLjOmuCq/hqTb5fFV77iBNk9V9K8S+tr4UZv5IgjtIfJeDOjKfJEPb3OK5CjhHyHTat6N90Dgn4on3QVO7y4c5ncyogg0MJHsQO7LqSL/IluuWW7JSAkLKQfBy+1Zd6/DH9SsJ0S29Z9IQeF6qJWLNWhv2xEWAr5V7wqQQz5+PAhZLQAYZ8r4QVAErs3Pgz73b9pZlqHOrlZBWDL7rFHzxVTFy2wJqIVAnIoruyPBxZy1kDTMvf5WareJNhHskcXLNdY7rlgGVCBk4cEBI983hicqtIg+IqlHhApMhMxabFDQ3ht8uRxxnkbfuHvftenQgm3/6JeX4Y6ezIDE4J7u6uhUJB+MqaXT1r7EcHLZaqXrKElJSHHtLZbAurxdxIar/mJ30knbq2mW2Rrp4r/UMJsPRmp+mSWJi3q+mRrwUch5DE6+iBAidt4r8y/o0BtdLArOShhG+QOzbGdlDzSqW/o1utzdTnn9+0L9/eUS5KrHx+CzQ00kiSR2aSSk1o8H94M0m11miLlAUt3ZPjXHTq2Lu8b3H96y/StXQEbDZl9fKF5cxan1EHBetfl4ZZd6Q+KblQgp6N/Zpx4g9o0ugQFnvJj6nkalD6H3GLCtfh5buIsDWahfcyTF5AYgR9vtrmwJ87FZ+UH7mfSPOYFXEq7aP sQoH5KO2 x0pVg2JBHcKkilVKQYBgFr6oVeOTFiAYyymQl0dGVal8nVd5Vb34XUcVBXUmZXA03Zsm32ZgXnDJwpIghEmzVMoRFFavAbFwwpnC2OsTZULYsDO5ChhTyMAZIzRoR9j6r7wfZLA0qMIVhhLFrGx8yJLIZ2o24+KJlxXgDm2aH3N1Yt0pmNn/VrdfvBPLU0whp5thvOST3OkjylEv0vYVdLQgxPVESX81uy9Vlg3fpLxzRfsc+uMXndYlgtA== 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, Dec 18, 2024 at 09:58:12AM -0800, Suren Baghdasaryan wrote: > And remove_vma will be just freeing the vmas. Is that correct? Yep. > I'm a bit confused because the original thinking was that > vma_mark_detached() would drop the last refcnt and if it's 0 we would > free the vma right there. If that's still what we want to do then I > think the above sequence should look like this: Right; sorry about that. So my initial objection to that extra sync was based on the reasons presented -- but having had to look at the unmap path again (my mm-foo is somewhat rusty, I've not done much the past few years) I realized that keeping a VMA alive beyond unmapping PTEs is just plain daft. So yes, back to your original semantics, but cleaned up to not need that extra sync point -- instead relying on the natural placement of vma_start_write() after unhooking from the mm. And not for reasons of the race, but for reasons of integrity -- VMA without PTEs is asking for more trouble.