linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@mellanox.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org
Subject: [GIT PULL] Please pull HMM changes
Date: Mon, 30 Mar 2020 14:57:48 -0300	[thread overview]
Message-ID: <20200330175748.GA32709@ziepe.ca> (raw)

[-- Attachment #1: Type: text/plain, Size: 4017 bytes --]

Hi Linus,

This series arose from a review of hmm_range_fault() by Christoph, Ralph and
myself. Several bug fixes and some general clarity.

hmm_range_fault() is being used by these 'SVM' style drivers to
non-destructively read the page tables. It is very similar to get_user_pages()
except that the output is an array of PFNs and per-pfn flags, and it has
various modes of reading.

This is necessary before RDMA ODP can be converted, as we don't want to have
weird corner case regressions, which is still a looking forward item. Ralph
has a nice tester for this routine, but it is waiting for feedback from the
selftests maintainers.

Regards,
Jason

The following changes since commit f8788d86ab28f61f7b46eb6be375f8a726783636:

  Linux 5.6-rc3 (2020-02-23 16:17:42 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus-hmm

for you to fetch changes up to 9cee0e8c6f1eb4b5e56d3eb7f5d47b05637bab4f:

  mm/hmm: return error for non-vma snapshots (2020-03-27 20:19:25 -0300)

----------------------------------------------------------------
hmm related patches for 5.7

This series focuses on corner case bug fixes and general clarity
improvements to hmm_range_fault().

- 9 bug fixes

- Allow pgmap to track the 'owner' of a DEVICE_PRIVATE - in this case the
  owner tells the driver if it can understand the DEVICE_PRIVATE page or
  not. Use this to resolve a bug in nouveau where it could touch
  DEVICE_PRIVATE pages from other drivers.

- Remove a bunch of dead, redundant or unused code and flags

- Clarity improvements to hmm_range_fault()

----------------------------------------------------------------
Christoph Hellwig (9):
      mm/hmm: don't provide a stub for hmm_range_fault()
      mm/hmm: remove the unused HMM_FAULT_ALLOW_RETRY flag
      mm/hmm: simplify hmm_vma_walk_hugetlb_entry()
      mm/hmm: don't handle the non-fault case in hmm_vma_walk_hole_()
      mm: merge hmm_vma_do_fault into into hmm_vma_walk_hole_
      memremap: add an owner field to struct dev_pagemap
      mm: handle multiple owners of device private pages in migrate_vma
      mm: simplify device private page handling in hmm_range_fault
      mm/hmm: check the device private page owner in hmm_range_fault()

Jason Gunthorpe (17):
      mm/hmm: add missing unmaps of the ptep during hmm_vma_handle_pte()
      mm/hmm: do not call hmm_vma_walk_hole() while holding a spinlock
      mm/hmm: add missing pfns set to hmm_vma_walk_pmd()
      mm/hmm: add missing call to hmm_range_need_fault() before returning EFAULT
      mm/hmm: reorganize how !pte_present is handled in hmm_vma_handle_pte()
      mm/hmm: return -EFAULT when setting HMM_PFN_ERROR on requested valid pages
      mm/hmm: add missing call to hmm_pte_need_fault in HMM_PFN_SPECIAL handling
      mm/hmm: do not check pmd_protnone twice in hmm_vma_handle_pmd()
      mm/hmm: remove pgmap checking for devmap pages
      mm/hmm: return the fault type from hmm_pte_need_fault()
      mm/hmm: remove unused code and tidy comments
      mm/hmm: remove HMM_FAULT_SNAPSHOT
      mm/hmm: remove the CONFIG_TRANSPARENT_HUGEPAGE #ifdef
      mm/hmm: use device_private_entry_to_pfn()
      mm/hmm: do not unconditionally set pfns when returning EBUSY
      mm/hmm: do not set pfns when returning an error code
      mm/hmm: return error for non-vma snapshots

 Documentation/vm/hmm.rst                |  12 +-
 arch/powerpc/kvm/book3s_hv_uvmem.c      |   3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c |   3 +-
 drivers/gpu/drm/nouveau/nouveau_dmem.c  |  19 +-
 drivers/gpu/drm/nouveau/nouveau_svm.c   |   3 +-
 include/linux/hmm.h                     | 125 +--------
 include/linux/memremap.h                |   4 +
 include/linux/migrate.h                 |   8 +
 mm/hmm.c                                | 476 +++++++++++++-------------------
 mm/memremap.c                           |   4 +
 mm/migrate.c                            |   9 +-
 11 files changed, 227 insertions(+), 439 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

             reply	other threads:[~2020-03-30 17:57 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-30 17:57 Jason Gunthorpe [this message]
2020-03-30 19:54 ` [GIT PULL] Please pull HMM changes Nathan Chancellor
2020-03-30 20:08   ` Jason Gunthorpe
  -- strict thread matches above, loose matches on Subject: below --
2020-08-04 15:06 [GIT PULL] Please pull hmm changes Jason Gunthorpe
2020-08-05 20:33 ` pr-tracker-bot
2020-06-01 18:25 Jason Gunthorpe
2020-06-02 22:20 ` pr-tracker-bot
2019-11-25 20:42 Jason Gunthorpe
2019-11-30 18:03 ` Linus Torvalds
2019-11-30 18:23   ` Linus Torvalds
2019-12-03  2:42     ` Jason Gunthorpe
2019-12-05 16:03       ` Jerome Glisse
2019-12-11 22:57         ` Jason Gunthorpe
2019-12-13 10:19           ` Daniel Vetter
2019-12-18 14:59             ` Jason Gunthorpe
2019-12-18 16:53               ` Linus Torvalds
2019-12-18 18:37                 ` Jason Gunthorpe
2019-12-18 19:33                   ` Linus Torvalds
2019-12-05 23:03       ` John Hubbard
2019-12-11 22:47         ` Jason Gunthorpe
2019-11-30 18:35 ` Linus Torvalds
2019-07-30 11:58 Jason Gunthorpe
2019-07-30 20:40 ` pr-tracker-bot
2019-07-09 19:24 Jason Gunthorpe
2019-07-15  2:48 ` Linus Torvalds
2019-07-15  3:00 ` pr-tracker-bot

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=20200330175748.GA32709@ziepe.ca \
    --to=jgg@mellanox.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=torvalds@linux-foundation.org \
    /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).