From: Alistair Popple <apopple@nvidia.com>
To: <akpm@linux-foundation.org>
Cc: <linux-mm@kvack.org>, <rcampbell@nvidia.com>,
<willy@infradead.org>, <linux-doc@vger.kernel.org>,
<nouveau@lists.freedesktop.org>, <hughd@google.com>,
<linux-kernel@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
<hch@infradead.org>, <peterx@redhat.com>, <shakeelb@google.com>,
<bskeggs@redhat.com>, <jgg@nvidia.com>, <jhubbard@nvidia.com>,
Alistair Popple <apopple@nvidia.com>
Subject: [PATCH v11 00/10] Add support for SVM atomics in Nouveau
Date: Wed, 16 Jun 2021 20:59:27 +1000 [thread overview]
Message-ID: <20210616105937.23201-1-apopple@nvidia.com> (raw)
Hi Andrew,
This is my series to add support for SVM atomics in Nouveau rebased onto
v5.13-rc6-mmots-2021-06-15-20-28. Functionally there are no changes from
the previous v10, however some changes were made during the rebase. If
anyone would like to see a diff-of-diffs I can post it but my exhaustive
(assuming I didn't miss anything in the diff-of-diff) summary below is
probably easier to read.
Hugh - based on our previous disscussion I'm reasonably confident I haven't
missed anything from you in the rebase, but patch 4 ("Split migration into
its own function") might be worth looking at as that contained the largest
conflicts. Thanks.
[PATCH 01/10] mm: Remove special swap entry functions
- Fixed migration_entry_to_page() reference in __split_huge_pmd_locked()
introduced by Hugh's "mm/thp: fix __split_huge_pmd_locked() on shmem
migration entry".
- Fixed migration_entry_to_page() reference in page_vma_mapped_walk()
changed by Hugh in "mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION
block"
[PATCH 02/10] mm/swapops: Rework swap entry manipulation code
- No changes required.
[PATCH 03/10] mm/rmap: Split try_to_munlock from try_to_unmap
- No changes required.
[PATCH 04/10] mm/rmap: Split migration into its own function
- Updated try_to_migrate_one() and try_to_migrate() to accept TTU_SYNC
flag.
- Updated mmu notifier range calculation in try_to_migrate_one() to use
vma_address_end() introduced by Hugh in "mm/thp: fix vma_address() if
virtual address below file offset".
- Update to unmap_page() in mm/hugh_memory.c to pass TTU_SYNC and check
page_mapped() now that try_to_{unmap|migrate} return void.
[PATCH 05/10] mm: Rename migrate_pgmap_owner
- Added Peter's Reviewed-by.
[PATCH 06/10] mm/memory.c: Allow different return codes for copy_non_present_pte()
- Updated call to copy_nonpresent_pte() for extra arguments added by Peter
in "mm/userfaultfd: fix uffd-wp special cases for fork()".
- Added Peter's Reviewed-by.
[PATCH 07/10] mm: Device exclusive memory access
- s/vma/src_vma/ in copy_nonpresent_pte() due to "mm/userfaultfd: fix
uffd-wp special cases for fork()".
- Skip calling rmap_walk on tail pages.
[PATCH 08/10] mm: Selftests for exclusive device memory
- Squashed in a fix from Colin King (see
https://lore.kernel.org/kernel-janitors/20210526170530.3766167-1-colin.king@canonical.com/).
Not sure what the best way of attributing that is though given it was
against next.
[PATCH 09/10] nouveau/svm: Refactor nouveau_range_fault
- No changes.
[PATCH 10/10] nouveau/svm: Implement atomic SVM access
- No changes.
Alistair Popple (10):
mm: Remove special swap entry functions
mm/swapops: Rework swap entry manipulation code
mm/rmap: Split try_to_munlock from try_to_unmap
mm/rmap: Split migration into its own function
mm: Rename migrate_pgmap_owner
mm/memory.c: Allow different return codes for copy_nonpresent_pte()
mm: Device exclusive memory access
mm: Selftests for exclusive device memory
nouveau/svm: Refactor nouveau_range_fault
nouveau/svm: Implement atomic SVM access
Documentation/vm/hmm.rst | 19 +-
Documentation/vm/unevictable-lru.rst | 33 +-
arch/s390/mm/pgtable.c | 2 +-
drivers/gpu/drm/nouveau/include/nvif/if000c.h | 1 +
drivers/gpu/drm/nouveau/nouveau_svm.c | 156 ++++-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h | 1 +
.../drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 6 +
fs/proc/task_mmu.c | 23 +-
include/linux/mmu_notifier.h | 26 +-
include/linux/rmap.h | 11 +-
include/linux/swap.h | 13 +-
include/linux/swapops.h | 123 ++--
lib/test_hmm.c | 127 +++-
lib/test_hmm_uapi.h | 2 +
mm/debug_vm_pgtable.c | 12 +-
mm/hmm.c | 12 +-
mm/huge_memory.c | 48 +-
mm/hugetlb.c | 10 +-
mm/memcontrol.c | 2 +-
mm/memory.c | 175 ++++-
mm/migrate.c | 51 +-
mm/mlock.c | 12 +-
mm/mprotect.c | 18 +-
mm/page_vma_mapped.c | 15 +-
mm/rmap.c | 612 +++++++++++++++---
tools/testing/selftests/vm/hmm-tests.c | 158 +++++
26 files changed, 1341 insertions(+), 327 deletions(-)
--
2.20.1
next reply other threads:[~2021-06-16 11:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-16 10:59 Alistair Popple [this message]
2021-06-16 10:59 ` [PATCH v11 01/10] mm: Remove special swap entry functions Alistair Popple
2021-06-16 10:59 ` [PATCH v11 02/10] mm/swapops: Rework swap entry manipulation code Alistair Popple
2021-06-16 10:59 ` [PATCH v11 03/10] mm/rmap: Split try_to_munlock from try_to_unmap Alistair Popple
2021-06-16 10:59 ` [PATCH v11 04/10] mm/rmap: Split migration into its own function Alistair Popple
2021-06-16 10:59 ` [PATCH v11 05/10] mm: Rename migrate_pgmap_owner Alistair Popple
2021-06-16 10:59 ` [PATCH v11 06/10] mm/memory.c: Allow different return codes for copy_nonpresent_pte() Alistair Popple
2021-06-16 10:59 ` [PATCH v11 07/10] mm: Device exclusive memory access Alistair Popple
2021-06-16 10:59 ` [PATCH v11 08/10] mm: Selftests for exclusive device memory Alistair Popple
2021-06-16 10:59 ` [PATCH v11 09/10] nouveau/svm: Refactor nouveau_range_fault Alistair Popple
2021-06-16 10:59 ` [PATCH v11 10/10] nouveau/svm: Implement atomic SVM access Alistair Popple
2021-06-16 23:35 ` [PATCH v11 00/10] Add support for SVM atomics in Nouveau Andrew Morton
2021-06-17 1:32 ` Alistair Popple
2021-06-17 1:29 ` Update: " Alistair Popple
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=20210616105937.23201-1-apopple@nvidia.com \
--to=apopple@nvidia.com \
--cc=akpm@linux-foundation.org \
--cc=bskeggs@redhat.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=jgg@nvidia.com \
--cc=jhubbard@nvidia.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nouveau@lists.freedesktop.org \
--cc=peterx@redhat.com \
--cc=rcampbell@nvidia.com \
--cc=shakeelb@google.com \
--cc=willy@infradead.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