linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Alistair Popple <apopple@nvidia.com>
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()
Date: Tue, 3 Jun 2025 10:47:38 -0300	[thread overview]
Message-ID: <20250603134738.GG386142@ziepe.ca> (raw)
In-Reply-To: <c4d81161c6d04a7ae3f63cc087bdc87fb25fd8ea.1748500293.git-series.apopple@nvidia.com>

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 <apopple@nvidia.com>
> ---
>  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 <jgg@nvidia.com>

Jason


  reply	other threads:[~2025-06-03 13:59 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-29  6:32 [PATCH 00/12] mm: Remove pXX_devmap page table bit and pfn_t type Alistair Popple
2025-05-29  6:32 ` [PATCH 01/12] mm: Remove PFN_MAP, PFN_SG_CHAIN and PFN_SG_LAST Alistair Popple
2025-05-29 11:46   ` Jonathan Cameron
2025-06-04  3:22     ` Alistair Popple
2025-05-30  9:33   ` David Hildenbrand
2025-06-02  4:54   ` Christoph Hellwig
2025-06-04  3:23     ` Alistair Popple
2025-06-03 13:34   ` Jason Gunthorpe
2025-06-04 21:05   ` Dan Williams
2025-05-29  6:32 ` [PATCH 02/12] mm: Convert pXd_devmap checks to vma_is_dax Alistair Popple
2025-05-30  9:37   ` David Hildenbrand
2025-06-12  6:55     ` Alistair Popple
2025-06-03 13:35   ` Jason Gunthorpe
2025-06-05  1:37   ` Dan Williams
2025-05-29  6:32 ` [PATCH 03/12] mm/pagewalk: Skip dax pages in pagewalk Alistair Popple
2025-05-30  9:42   ` David Hildenbrand
2025-06-03 13:36   ` Jason Gunthorpe
2025-06-05  1:59   ` Dan Williams
2025-06-05  7:46     ` Christoph Hellwig
2025-06-05  7:49       ` David Hildenbrand
2025-06-05 16:21         ` Dan Williams
2025-06-12  7:02           ` Alistair Popple
2025-06-12  8:47             ` Alistair Popple
2025-06-12 14:15   ` Lorenzo Stoakes
2025-06-12 22:50     ` Alistair Popple
2025-05-29  6:32 ` [PATCH 04/12] mm: Convert vmf_insert_mixed() from using pte_devmap to pte_special Alistair Popple
2025-06-03 13:37   ` Jason Gunthorpe
2025-06-05  2:02   ` Dan Williams
2025-05-29  6:32 ` [PATCH 05/12] mm: Remove remaining uses of PFN_DEV Alistair Popple
2025-06-03 13:38   ` Jason Gunthorpe
2025-06-05  2:02   ` Dan Williams
2025-05-29  6:32 ` [PATCH 06/12] mm/gup: Remove pXX_devmap usage from get_user_pages() Alistair Popple
2025-06-03 13:47   ` Jason Gunthorpe [this message]
2025-06-05  2:04   ` Dan Williams
2025-05-29  6:32 ` [PATCH 07/12] mm: Remove redundant pXd_devmap calls Alistair Popple
2025-05-29 11:54   ` Jonathan Cameron
2025-06-02  9:33   ` David Hildenbrand
2025-06-02 12:20     ` David Hildenbrand
2025-06-03 13:48   ` Jason Gunthorpe
2025-06-05  2:35   ` Dan Williams
2025-06-05 12:09     ` Jason Gunthorpe
2025-06-05 12:21       ` David Hildenbrand
2025-06-05 16:30         ` Dan Williams
2025-06-05 17:04           ` David Hildenbrand
2025-06-05 16:22       ` Dan Williams
2025-05-29  6:32 ` [PATCH 08/12] mm/khugepaged: Remove redundant pmd_devmap() check Alistair Popple
2025-06-02 11:45   ` David Hildenbrand
2025-06-03 13:48   ` Jason Gunthorpe
2025-05-29  6:32 ` [PATCH 09/12] powerpc: Remove checks for devmap pages and PMDs/PUDs Alistair Popple
2025-06-03 13:49   ` Jason Gunthorpe
2025-05-29  6:32 ` [PATCH 10/12] mm: Remove devmap related functions and page table bits Alistair Popple
2025-06-03 13:50   ` Jason Gunthorpe
2025-05-29  6:32 ` [PATCH 11/12] mm: Remove callers of pfn_t functionality Alistair Popple
2025-06-02  4:44   ` Michael Kelley
2025-06-03 13:50   ` Jason Gunthorpe
2025-05-29  6:32 ` [PATCH 12/12] mm/memremap: Remove unused devmap_managed_key Alistair Popple
2025-06-03 13:51   ` Jason Gunthorpe
2025-06-02 10:31 ` [PATCH 00/12] mm: Remove pXX_devmap page table bit and pfn_t type David Hildenbrand
2025-06-05  1:39 ` Dan Williams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250603134738.GG386142@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=John@groves.net \
    --cc=apopple@nvidia.com \
    --cc=balbirs@nvidia.com \
    --cc=bjorn@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=david@redhat.com \
    --cc=debug@rivosinc.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gerald.schaefer@linux.ibm.com \
    --cc=hch@lst.de \
    --cc=jhubbard@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=loongarch@lists.linux.dev \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=nvdimm@lists.linux.dev \
    --cc=willy@infradead.org \
    --cc=zhang.lyra@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).