Linus Torvalds
84da111de0
Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
...
Pull hmm updates from Jason Gunthorpe:
"This is more cleanup and consolidation of the hmm APIs and the very
strongly related mmu_notifier interfaces. Many places across the tree
using these interfaces are touched in the process. Beyond that a
cleanup to the page walker API and a few memremap related changes
round out the series:
- General improvement of hmm_range_fault() and related APIs, more
documentation, bug fixes from testing, API simplification &
consolidation, and unused API removal
- Simplify the hmm related kconfigs to HMM_MIRROR and DEVICE_PRIVATE,
and make them internal kconfig selects
- Hoist a lot of code related to mmu notifier attachment out of
drivers by using a refcount get/put attachment idiom and remove the
convoluted mmu_notifier_unregister_no_release() and related APIs.
- General API improvement for the migrate_vma API and revision of its
only user in nouveau
- Annotate mmu_notifiers with lockdep and sleeping region debugging
Two series unrelated to HMM or mmu_notifiers came along due to
dependencies:
- Allow pagemap's memremap_pages family of APIs to work without
providing a struct device
- Make walk_page_range() and related use a constant structure for
function pointers"
* tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (75 commits)
libnvdimm: Enable unit test infrastructure compile checks
mm, notifier: Catch sleeping/blocking for !blockable
kernel.h: Add non_block_start/end()
drm/radeon: guard against calling an unpaired radeon_mn_unregister()
csky: add missing brackets in a macro for tlb.h
pagewalk: use lockdep_assert_held for locking validation
pagewalk: separate function pointers from iterator data
mm: split out a new pagewalk.h header from mm.h
mm/mmu_notifiers: annotate with might_sleep()
mm/mmu_notifiers: prime lockdep
mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end
mm/mmu_notifiers: remove the __mmu_notifier_invalidate_range_start/end exports
mm/hmm: hmm_range_fault() infinite loop
mm/hmm: hmm_range_fault() NULL pointer bug
mm/hmm: fix hmm_range_fault()'s handling of swapped out pages
mm/mmu_notifiers: remove unregister_no_release
RDMA/odp: remove ib_ucontext from ib_umem
RDMA/odp: use mmu_notifier_get/put for 'struct ib_ucontext_per_mm'
RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr
RDMA/mlx5: Use ib_umem_start instead of umem.address
...
2019-09-21 10:07:42 -07:00
..
2019-06-10 23:00:01 +02:00
2016-10-25 14:38:45 -04:00
2019-06-10 23:02:48 +02:00
2019-06-10 23:02:48 +02:00
2019-07-31 14:32:56 -05:00
2019-01-14 15:04:29 -05:00
2019-06-14 11:44:24 +02:00
2019-06-14 11:44:24 +02:00
2019-08-15 10:57:48 -05:00
2019-07-18 14:18:07 -05:00
2019-08-15 10:57:55 -05:00
2019-08-21 16:44:41 +10:00
2019-08-02 10:30:41 -05:00
2019-07-18 14:18:04 -05:00
2019-06-10 23:02:48 +02:00
2017-12-18 10:58:35 -05:00
2019-06-25 08:42:25 -05:00
2019-03-19 15:36:51 -05:00
2019-08-27 10:09:12 -05:00
2019-06-10 23:02:48 +02:00
2019-06-10 23:02:48 +02:00
2019-06-14 11:44:24 +02:00
2019-05-24 12:21:02 -05:00
2019-06-10 23:02:48 +02:00
2019-07-31 16:35:37 +02:00
2015-06-03 21:03:15 -04:00
2019-08-27 17:22:15 +10:00
2019-06-21 18:57:40 -05:00
2018-11-05 14:21:50 -05:00
2019-08-23 11:30:32 -05:00
2019-08-23 11:30:32 -05:00
2019-07-31 01:26:09 -05:00
2019-06-21 18:58:21 -05:00
2019-08-30 15:02:39 -05:00
2019-07-11 14:37:24 -05:00
2019-06-21 18:58:21 -05:00
2019-08-21 16:44:41 +10:00
2019-07-30 23:48:32 -05:00
2019-08-21 16:44:41 +10:00
2019-07-31 10:19:23 +02:00
2019-07-18 14:18:05 -05:00
2019-06-25 08:42:25 -05:00
2019-06-21 18:59:25 -05:00
2019-09-21 10:07:42 -07:00
2015-08-17 16:50:21 -04:00
2019-06-10 23:02:48 +02:00
2019-07-30 23:48:32 -05:00
2019-06-25 08:42:25 -05:00
2019-08-15 10:59:17 -05:00
2018-11-05 14:21:16 -05:00
2019-08-12 12:47:47 -05:00
2019-08-21 16:44:41 +10:00
2019-08-13 09:09:30 +02:00
2019-07-18 14:18:00 -05:00
2019-07-31 14:51:08 -05:00
2019-08-22 17:15:06 -05:00
2019-08-15 10:57:48 -05:00
2019-06-10 23:02:48 +02:00
2019-06-10 23:02:48 +02:00
2016-09-27 13:00:52 -04:00
2019-06-25 08:42:25 -05:00
2019-08-21 16:44:41 +10:00
2019-08-13 09:09:30 +02:00
2019-06-10 23:02:48 +02:00
2019-03-19 15:36:58 -05:00
2019-06-10 23:02:48 +02:00
2019-06-10 23:02:48 +02:00
2019-02-13 17:47:11 -05:00
2019-06-14 11:44:24 +02:00
2019-06-21 18:57:40 -05:00
2019-08-12 14:20:21 +10:00
2019-06-21 18:59:28 -05:00
2019-08-12 12:47:48 -05:00
2019-09-21 10:07:42 -07:00
2019-07-08 13:55:00 -05:00
2019-05-24 12:25:56 -05:00
2019-08-27 17:22:15 +10:00
2019-08-21 16:44:41 +10:00
2019-06-10 23:02:48 +02:00
2015-06-03 21:03:15 -04:00
2019-08-29 15:52:32 -05:00
2019-06-13 13:59:48 -05:00
2019-06-20 11:36:22 -05:00
2019-06-20 11:36:22 -05:00
2019-08-29 15:52:32 -05:00
2019-08-21 22:16:45 -05:00
2019-08-29 15:52:32 -05:00
2019-08-27 08:17:14 -05:00
2019-08-23 11:30:32 -05:00
2019-08-27 08:17:14 -05:00
2019-06-25 08:42:25 -05:00
2019-07-18 14:18:05 -05:00
2018-11-09 16:29:12 -05:00
2019-06-20 21:46:49 -05:00
2019-06-10 23:02:48 +02:00
2019-06-10 22:59:53 +02:00
2019-06-10 23:00:08 +02:00
2019-06-25 08:42:25 -05:00
2019-07-18 14:18:02 -05:00
2019-06-21 18:59:34 -05:00
2019-08-13 09:09:30 +02:00
2019-08-13 09:09:30 +02:00
2019-06-10 23:02:48 +02:00
2019-06-10 23:02:48 +02:00
2019-06-10 23:00:08 +02:00
2019-09-21 10:07:42 -07:00
2019-08-21 16:44:41 +10:00
2019-08-21 22:15:28 -05:00
2019-08-02 10:30:39 -05:00
2019-08-09 11:17:10 -05:00
2019-08-13 09:09:30 +02:00
2018-11-26 15:47:34 -05:00
2019-06-19 12:07:29 +02:00
2019-01-25 16:15:35 -05:00
2019-08-22 17:48:46 -05:00
2019-08-02 10:36:34 -05:00
2017-10-20 13:28:44 -04:00
2017-09-28 16:03:20 -04:00
2019-08-02 10:17:21 -05:00
2019-08-02 10:17:21 -05:00
2019-03-27 22:40:50 -05:00
2019-08-06 08:21:54 +02:00
2019-08-27 17:22:15 +10:00
2019-07-30 23:19:35 -05:00
2019-06-25 08:42:25 -05:00
2019-07-30 23:22:34 -05:00
2019-05-24 12:20:48 -05:00
2019-08-29 15:52:32 -05:00
2019-07-30 23:48:33 -05:00
2019-08-12 12:47:48 -05:00
2019-08-12 12:47:48 -05:00
2019-08-12 12:47:47 -05:00
2019-06-20 21:35:29 -05:00
2019-01-14 10:58:37 +01:00
2019-06-10 23:00:01 +02:00
2019-06-10 23:04:34 +02:00
2016-05-04 20:23:53 -04:00
2019-06-10 23:04:34 +02:00
2015-06-03 21:03:15 -04:00
2019-06-10 23:04:34 +02:00
2018-03-14 15:39:51 -05:00
2019-06-10 23:04:34 +02:00
2016-07-14 16:39:35 -04:00
2019-01-25 16:15:36 -05:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2019-07-30 23:24:06 -05:00
2018-11-28 15:55:32 -05:00
2017-11-27 18:29:47 -05:00
2015-06-03 21:03:17 -04:00
2017-12-13 17:28:08 -05:00
2019-06-20 21:16:37 -05:00
2017-01-27 12:20:41 -05:00
2015-06-03 21:03:17 -04:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2019-08-12 12:47:47 -05:00
2016-10-25 14:38:45 -04:00
2019-08-12 12:47:47 -05:00
2016-10-25 14:38:45 -04:00
2019-08-12 12:47:47 -05:00
2016-10-25 14:38:45 -04:00
2019-08-12 12:47:47 -05:00
2016-10-25 14:38:45 -04:00
2019-08-29 15:52:32 -05:00
2016-10-25 14:38:45 -04:00
2019-06-22 09:34:14 -05:00
2018-04-11 13:07:54 -05:00
2019-07-30 23:22:26 -05:00
2019-06-20 11:35:45 -05:00
2018-02-19 14:19:49 -05:00
2019-07-16 13:08:38 -05:00
2016-10-25 14:38:45 -04:00
2019-08-09 13:07:28 -05:00
2017-05-31 16:48:48 -04:00
2019-08-09 13:07:28 -05:00
2017-05-31 16:48:48 -04:00
2019-08-27 10:38:40 -05:00
2017-08-15 14:46:13 -04:00
2019-08-29 15:52:26 -05:00
2019-06-21 18:59:23 -05:00
2019-07-18 14:18:01 -05:00
2018-11-05 14:21:24 -05:00
2018-09-10 22:47:34 -05:00
2018-09-10 22:46:22 -05:00
2019-08-15 10:58:14 -05:00
2019-06-20 21:35:29 -05:00
2019-08-23 11:35:25 -05:00
2016-10-25 14:38:45 -04:00
2019-08-23 11:35:25 -05:00
2016-10-25 14:38:45 -04:00
2019-08-23 11:35:25 -05:00
2016-10-25 14:38:45 -04:00
2019-08-29 15:52:32 -05:00
2019-07-18 14:18:04 -05:00
2019-08-27 08:15:32 -05:00
2019-06-20 21:35:29 -05:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2015-09-02 12:21:35 -04:00
2019-08-07 14:58:06 -03:00
2019-06-10 23:04:34 +02:00
2015-06-03 21:03:17 -04:00
2019-06-10 23:04:34 +02:00
2019-08-27 09:17:35 -05:00
2019-06-25 08:42:25 -05:00
2019-07-08 13:56:02 -05:00
2019-08-22 17:40:58 -05:00
2019-08-12 12:47:48 -05:00
2019-08-15 10:58:14 -05:00
2019-06-20 21:35:29 -05:00
2019-08-12 12:47:49 -05:00
2019-08-12 12:47:49 -05:00
2017-04-28 17:32:57 -04:00
2019-08-02 10:17:21 -05:00
2019-05-06 09:36:48 -05:00
2019-04-19 11:33:27 -05:00
2017-09-26 15:14:12 -04:00
2019-07-31 14:33:21 -05:00
2019-06-20 21:35:30 -05:00
2019-08-06 13:53:05 -05:00
2019-06-20 21:16:38 -05:00
2019-08-02 10:30:39 -05:00
2019-08-06 13:53:05 -05:00
2019-07-18 14:18:05 -05:00
2019-06-20 21:18:36 -05:00
2019-03-19 15:36:58 -05:00
2017-12-13 17:28:07 -05:00
2019-08-12 12:47:50 -05:00
2017-12-13 17:28:07 -05:00
2019-07-18 14:18:05 -05:00
2018-08-27 11:10:23 -05:00
2019-08-30 15:37:17 -05:00
2019-08-02 10:30:39 -05:00
2019-06-20 21:16:38 -05:00
2018-06-15 12:20:42 -05:00
2016-07-15 12:33:31 -04:00
2019-08-02 10:30:39 -05:00
2019-08-21 22:16:37 -05:00
2018-02-19 14:18:31 -05:00
2019-08-21 22:16:37 -05:00
2018-02-19 14:18:31 -05:00
2019-08-21 22:16:37 -05:00
2018-08-27 11:10:34 -05:00
2019-08-21 22:16:37 -05:00
2019-08-12 12:47:50 -05:00
2016-08-31 15:21:09 -04:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2019-08-29 15:52:32 -05:00
2017-03-29 23:54:45 -04:00
2019-08-22 17:25:01 -05:00
2019-06-21 18:58:21 -05:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2019-06-10 23:04:34 +02:00
2018-03-15 09:57:50 -05:00
2018-08-27 11:10:19 -05:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2019-06-10 23:04:34 +02:00
2019-08-29 15:52:32 -05:00
2018-02-19 14:18:08 -05:00
2018-08-27 11:10:19 -05:00
2016-09-28 16:13:17 -04:00
2019-08-27 09:17:35 -05:00
2019-08-27 09:17:35 -05:00
2019-08-02 10:17:21 -05:00
2019-08-29 15:52:34 -05:00
2019-07-18 14:18:02 -05:00
2018-06-15 12:20:34 -05:00
2019-06-11 11:51:28 -05:00
2018-11-06 14:02:41 -05:00
2019-06-10 23:04:34 +02:00
2016-10-25 14:38:45 -04:00
2015-09-02 12:21:35 -04:00
2019-08-09 11:17:10 -05:00
2019-08-02 10:30:38 -05:00
2019-06-14 11:44:24 +02:00
2016-10-25 14:38:45 -04:00
2019-06-14 11:44:24 +02:00
2016-10-25 14:38:45 -04:00
2019-06-19 12:07:29 +02:00
2016-10-25 14:38:45 -04:00
2019-07-18 14:18:01 -05:00
2017-03-29 23:54:47 -04:00
2019-06-14 11:44:24 +02:00
2016-10-25 14:38:45 -04:00
2019-06-14 11:44:24 +02:00
2016-10-25 14:38:45 -04:00
2019-07-18 14:18:01 -05:00
2017-03-29 23:54:47 -04:00
2019-07-18 14:18:05 -05:00
2017-05-24 17:41:27 -04:00
2019-08-22 17:48:46 -05:00
2019-07-18 14:18:04 -05:00
2019-07-31 14:33:41 -05:00
2019-07-18 14:18:05 -05:00
2019-08-30 15:37:17 -05:00
2017-03-29 23:54:46 -04:00
2019-08-12 12:47:50 -05:00
2017-03-29 23:54:30 -04:00
2019-07-31 14:48:51 -05:00
2019-07-30 23:24:10 -05:00
2018-11-28 15:55:32 -05:00
2017-11-01 19:22:00 -04:00