From: jglisse@redhat.com
To: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
"Jérôme Glisse" <jglisse@redhat.com>,
"Balbir Singh" <bsingharora@gmail.com>,
"Ralph Campbell" <rcampbell@nvidia.com>,
"John Hubbard" <jhubbard@nvidia.com>,
"Dan Williams" <dan.j.williams@intel.com>,
"Ira Weiny" <ira.weiny@intel.com>
Subject: [PATCH v3 00/12] Improve HMM driver API v3
Date: Wed, 3 Apr 2019 15:33:06 -0400 [thread overview]
Message-ID: <20190403193318.16478-1-jglisse@redhat.com> (raw)
From: Jérôme Glisse <jglisse@redhat.com>
Changes since v2:
- Improved the documentations
- Added more comments in the code to explain things
- Renamed bunch of functions from popular demands
This patchset improves the HMM driver API and add support for mirroring
virtual address that are mmap of hugetlbfs or of a file in a filesystem
on a DAX block device. You can find a tree with all the patches [1]
This patchset is necessary for converting ODP to HMM and patch to do so
as been posted [2]. All new functions introduced by this patchset are use
by the ODP patch. The ODP patch will be push through the RDMA tree the
release after this patchset is merged.
Moreover all HMM functions are use by the nouveau driver starting in 5.1.
The last patch in the serie add helpers to directly dma map/unmap pages
for virtual addresses that are mirrored on behalf of device driver. This
has been extracted from ODP code as it is is a common pattern accross HMM
device driver. It will be first use by the ODP RDMA code and will latter
get use by nouveau and other driver that are working on including HMM
support.
[1] https://cgit.freedesktop.org/~glisse/linux/log/?h=hmm-for-5.2.v3
[2] https://cgit.freedesktop.org/~glisse/linux/log/?h=odp-hmm
[3] https://lkml.org/lkml/2019/1/29/1008
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: Ralph Campbell <rcampbell@nvidia.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Jérôme Glisse (12):
mm/hmm: select mmu notifier when selecting HMM v2
mm/hmm: use reference counting for HMM struct v3
mm/hmm: do not erase snapshot when a range is invalidated
mm/hmm: improve and rename hmm_vma_get_pfns() to hmm_range_snapshot()
v2
mm/hmm: improve and rename hmm_vma_fault() to hmm_range_fault() v3
mm/hmm: improve driver API to work and wait over a range v3
mm/hmm: add default fault flags to avoid the need to pre-fill pfns
arrays v2
mm/hmm: mirror hugetlbfs (snapshoting, faulting and DMA mapping) v3
mm/hmm: allow to mirror vma of a file on a DAX backed filesystem v3
mm/hmm: add helpers to test if mm is still alive or not
mm/hmm: add an helper function that fault pages and map them to a
device v3
mm/hmm: convert various hmm_pfn_* to device_entry which is a better
name
Documentation/vm/hmm.rst | 94 +++-
include/linux/hmm.h | 310 ++++++++---
mm/Kconfig | 2 +-
mm/hmm.c | 1077 ++++++++++++++++++++++++++------------
4 files changed, 1054 insertions(+), 429 deletions(-)
--
2.17.2
next reply other threads:[~2019-04-03 19:33 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-03 19:33 jglisse [this message]
2019-04-03 19:33 ` [PATCH v3 01/12] mm/hmm: select mmu notifier when selecting HMM v2 jglisse
2019-04-03 19:33 ` [PATCH v3 02/12] mm/hmm: use reference counting for HMM struct v3 jglisse
2019-04-03 19:33 ` [PATCH v3 03/12] mm/hmm: do not erase snapshot when a range is invalidated jglisse
2019-04-03 19:33 ` [PATCH v3 04/12] mm/hmm: improve and rename hmm_vma_get_pfns() to hmm_range_snapshot() v2 jglisse
2019-04-03 19:33 ` [PATCH v3 05/12] mm/hmm: improve and rename hmm_vma_fault() to hmm_range_fault() v3 jglisse
2019-04-03 19:33 ` [PATCH v3 06/12] mm/hmm: improve driver API to work and wait over a range v3 jglisse
2019-04-03 19:33 ` [PATCH v3 07/12] mm/hmm: add default fault flags to avoid the need to pre-fill pfns arrays v2 jglisse
2019-04-03 19:33 ` [PATCH v3 08/12] mm/hmm: mirror hugetlbfs (snapshoting, faulting and DMA mapping) v3 jglisse
2019-04-03 19:33 ` [PATCH v3 09/12] mm/hmm: allow to mirror vma of a file on a DAX backed filesystem v3 jglisse
2019-04-03 19:33 ` [PATCH v3 10/12] mm/hmm: add helpers to test if mm is still alive or not jglisse
2019-04-03 19:33 ` [PATCH v3 11/12] mm/hmm: add an helper function that fault pages and map them to a device v3 jglisse
2019-04-03 19:33 ` [PATCH v3 12/12] mm/hmm: convert various hmm_pfn_* to device_entry which is a better name jglisse
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=20190403193318.16478-1-jglisse@redhat.com \
--to=jglisse@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bsingharora@gmail.com \
--cc=dan.j.williams@intel.com \
--cc=ira.weiny@intel.com \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rcampbell@nvidia.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).