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 2CBDFC5AE59 for ; Tue, 3 Jun 2025 13:47:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AB1BE6B045B; Tue, 3 Jun 2025 09:47:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A404C6B045C; Tue, 3 Jun 2025 09:47:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 902EE6B045D; Tue, 3 Jun 2025 09:47:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 71EC66B045B for ; Tue, 3 Jun 2025 09:47:53 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 1CEA41A0A9D for ; Tue, 3 Jun 2025 13:47:53 +0000 (UTC) X-FDA: 83514217626.10.C7DCBA4 Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) by imf15.hostedemail.com (Postfix) with ESMTP id 320D7A0009 for ; Tue, 3 Jun 2025 13:47:50 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=MMsAYzgF; dmarc=none; spf=pass (imf15.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.167.173 as permitted sender) smtp.mailfrom=jgg@ziepe.ca ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748958471; 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=UpF3njOJtHrMyikmrAfZ4zzOg2YUvEVFUbKoE3kb2rM=; b=HZFuiVyhn7cKFSjInQbocXFZxSD3vbd/MsTtnFs3JtwDPS1ZyrhYEC4IVrjxkQCGFKDSn8 2lhhDa0DPx0N0Vp4fd16Dl4Hljq2nclXd6+oNG8GqaU2Kf9IJFhgyEoqRX3HIqcMPDIpGX 6P8av/5dVWgBX4ha63OfawPdFM9dFK4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748958471; a=rsa-sha256; cv=none; b=BVJPW1gee7RAFH/rKiZsZ7agfGkK0FHCtHocgfFIIsewIDtKzAS7gtxmvKJ2JDzlf9oP1X Ii4DpVMUnU4bpkO6IJV2Dwqvl3UG9WRlzkVt7vjI6vSblPlITpjJmFruO9tuj+rtaJjyPf isfbbQVRhpaM1rn8jDx2F3DBRx0ejKM= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=MMsAYzgF; dmarc=none; spf=pass (imf15.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.167.173 as permitted sender) smtp.mailfrom=jgg@ziepe.ca Received: by mail-oi1-f173.google.com with SMTP id 5614622812f47-401f6513cb2so3872602b6e.0 for ; Tue, 03 Jun 2025 06:47:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1748958470; x=1749563270; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=UpF3njOJtHrMyikmrAfZ4zzOg2YUvEVFUbKoE3kb2rM=; b=MMsAYzgF0XQqYe8g2O9oXPYadzBn2rMCC4564m8ggCRbrv6bGKyRC84VzIWQpL2Znj yPKf6Z6ko6lZz2xbCK3WF7n+4C+osjIq12SriXFoyGHecaOkidYkutfacLe9F0gJQVr1 nGVGt5dc2Q69N/scV4QHK31FfDwLMbEmfITnbcgDOxq2ZyeuQkXqWJUNYdL2b9E4zPYt RFSElPTLIL/jFYOaf7hd2zYugtryMbP5Lh8Ds0qY/9ohMvbabSlBLS5MpgUeZcWbfVOa Q3+qc12FkB5Z2HOjwACHWHcDDgv13s+R2dJPY7z7XghiDWl5om6Mk88wmU/qglEP4Vna bohw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748958470; x=1749563270; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UpF3njOJtHrMyikmrAfZ4zzOg2YUvEVFUbKoE3kb2rM=; b=slaHPsrOktz8MChlcg87NJEIoNfLvuTTcri52vANyU6gxEn/FYDgUMM1UQ4eJowbhz sfBwqr/q+8PHuQ+qjmk7OssVO035XxLeCkp8YHQOx0AYmq3bpwCs5rR74Hebv+CxxLNs qjMhhq6LnaZ0FzSOE+3xa0qPw6QXhHVO1zLN6HKzMvtoKqinTQmQ/maVJAEQCvtPRrHH 8kTJFaaclfQknlXp98IN3P5wZ9pqwJQTGXm7L8QveNRgEEA9CbfVQwN7pkuCUrjfTyNW kt9Ts2Dt3pD4AnnvbK6htsOPE+EKtfisMHvQzysjLdTFjVw1KZJHKeqY9zP5ftfMQvyO ZbAA== X-Gm-Message-State: AOJu0Yzly9sQfhm9Tnu327fU0J9vmfhWeIZUDY6upvJrTHVFultKuPjh FW71PHqpdRCJIRMk0qsC1OKSt5r5HRvE2dSx53hFP9740afPFmJI4PRDhpOM2U9RDkk= X-Gm-Gg: ASbGncvEo1mM4s2cTswUFkI/PdLjpI+Dj5RNM8btPGdgNjHmwaz///mjM8nKrNmkJnj zX3NZMRybjQX/D/4mDH8pgxOyZgg1Qa9AQFfz5C2cFel+PPJ76L3lH4+DslVbK3e19WUMy83WKb YMIol1oIk0hPXoRL/BmoQ2CrZWnRaNRt0IhM9+FROfrAKgTVmmCDg/37Tj4Df0MOhN7GFT+KMK/ 6GF1cukInwDUYaqP+lBVKRo23QeJ2ApPP7JkhHqY2dXsdgcnEc1KPRsjiboGspqNQ+2ey6kIMfk Xu8w/oMPS96cKpGSL5A8K6h7JjfbFq8jojhXCBxvLN1oSnEAm9gT61dGWojt2F7CsBaXC3+Vh61 nHcENAfdembxZ2kkQq9l1RKHA8bA= X-Google-Smtp-Source: AGHT+IEn/uCXnqGk9mGrQEIlQbsguMg4s70jmRhOs28+dV79kPuZtTFgI19mnXFgGkPMbOXTAF/Qjg== X-Received: by 2002:a05:620a:278d:b0:7c5:d71c:6a47 with SMTP id af79cd13be357-7d211676724mr394455585a.8.1748958459265; Tue, 03 Jun 2025 06:47:39 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-167-56-70.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.167.56.70]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d09a195d7dsm840098585a.78.2025.06.03.06.47.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 06:47:38 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1uMRzO-00000001hB3-1CmA; Tue, 03 Jun 2025 10:47:38 -0300 Date: Tue, 3 Jun 2025 10:47:38 -0300 From: Jason Gunthorpe To: Alistair Popple Cc: linux-mm@kvack.org, gerald.schaefer@linux.ibm.com, dan.j.williams@intel.com, willy@infradead.org, david@redhat.com, linux-kernel@vger.kernel.org, nvdimm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, jhubbard@nvidia.com, hch@lst.de, zhang.lyra@gmail.com, debug@rivosinc.com, bjorn@kernel.org, balbirs@nvidia.com, lorenzo.stoakes@oracle.com, linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-cxl@vger.kernel.org, dri-devel@lists.freedesktop.org, John@groves.net Subject: Re: [PATCH 06/12] mm/gup: Remove pXX_devmap usage from get_user_pages() Message-ID: <20250603134738.GG386142@ziepe.ca> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 320D7A0009 X-Stat-Signature: 4wtf7fh7fbxgjhaftr1ga14qr3foznry X-Rspam-User: X-HE-Tag: 1748958470-832108 X-HE-Meta: U2FsdGVkX18NLso0cTEFJPrtEd72jckxZF7i9Z4nneCM2p9HXk7YUuawcr6OnDV2RdMSoyBK1Cp9Sn9/6fNozH/zPnO3T8+99EWROtnrgzGqqnoRKbAJrf0rRkkfczQeUUsfXgGPwieiE0/BVmu0HjGZIn0Dh+DrmJz/9bQuCLtkltI6B+y6rA7BP29I36o1ndx+G3H+svh0QjlxyWTI4Euj80C+wB/aqnxUVmpKMwYI5i7pbkQbOWpwsCR9mjTnl2UUCYj/jM1fNzecEfZdDzcD7HMLsfhvRR2MVH8TK3ix/aoBHrl/CU/a0lWNDuT88gq1c6FPGkcObf/osBi24l9vGM3Fy/ZTcxtz80DxEsSQOahVOzVZVK7fXh+WI1rIpBOtZRKJNxMdr8ZiuRJVL/xDgzNbKpYb32BXRQcg18hWWWvMRLZDE8Hg+vFllctDjZpgN/SLX3Mp49dFfLoNAsAxPPEsMrxSpY/xJuG3zFO29b24fmFqIEjCzcZBfbDxCtGd1nlyZkDFT5MAUZtSaOKodQoM2zYYAKUN1bTOow1vFcjVMB4e/SFybHYzcPwaku+Gw4aUCz2fFfdplzudHmM7w+HQyF4cKuMTKbyhNOtvmOq1kfdLTP1pXQR1j7WPF16aiqrUjm1NFrZEgndOy4CnKF8mRqVtWpE03EjDwJmnLH+gRQ4ULylPkNWyPhjIO+sDJnu2J+MJTHSpM8NVegE0HO6jWcszGpcks0qOs5JwLh6PBlIjX4UsOVNxAFGDhqLlfX7MI48/02npxpPNUa1MErR4QtecAOMPJ1K+DOaxkMo6yMzZ84PJ1e2reM9/whm/tRqSCVkrw5Ie1RnTOW0DCAK5HNnQYcGKni3tsAfqaOcSX2sfJFDSHhZmE29ObcRxHScgXqYxUQdyed6o53ha8sRkBbfKetuvesTUMZwKMjdNphh5G8Ym5Szq5GS9zkMPR8VzdZG2/bwNu3Y iZCZdDu2 5tjy5+H/ilD2RTpno5JR3F27obROAGajtV2ZOfCk7e7VAhKQdJpLW0Wxq6hM2ctop4XCOSUvVWjoJiCFehtcu5A1QCz7kCBCsCyUvh5MrYH16eiTkMnORiU+oK/y52Pse13kik02x0kQsLWvhLW+r0F4pBxFdnIlo5a3eDQ69zlcjywKK6decZ5Cx5dbj1k4aPFwAwCsMksrUhFpmnjr4DavOq3+CgP1+/qWtXZW5YVF1qPQu/+4Sw5rTTYaPbXQZNwrMnmLVYmga5BlQKudo9hxzv1bg2v+MJtPBHhYAXGSa8H1urLhSOBre5gSYvhJqtoPyvvzKLO+MIUoq9GU6xSbjFMCk9IEPBR1hgM/Ej72wf5jL8UhwQqU8ncX5Xek23wUvTbNDDZcydljwFidoe/uBX7uQCkUkCrY44SI0pKNrVuY= 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 Thu, May 29, 2025 at 04:32:07PM +1000, Alistair Popple wrote: > GUP uses pXX_devmap() calls to see if it needs to a get a reference on > the associated pgmap data structure to ensure the pages won't go > away. However it's a driver responsibility to ensure that if pages are > mapped (ie. discoverable by GUP) that they are not offlined or removed > from the memmap so there is no need to hold a reference on the pgmap > data structure to ensure this. Yes, the pgmap refcounting never made any sense here. But I'm not sure this ever got fully fixed up? To solve races with GUP fast we need a IPI/synchronize_rcu after all VMAs are zapped and before the pgmap gets destroyed. Granted it is a very small race in gup fast, it still should have this locking. > Furthermore mappings with PFN_DEV are no longer created, hence this > effectively dead code anyway so can be removed. > > Signed-off-by: Alistair Popple > --- > include/linux/huge_mm.h | 3 +- > mm/gup.c | 162 +---------------------------------------- > mm/huge_memory.c | 40 +---------- > 3 files changed, 5 insertions(+), 200 deletions(-) Reviewed-by: Jason Gunthorpe Jason