linux/drivers
Linus Torvalds aa32f11691 hmm related patches for 5.5
This is another round of bug fixing and cleanup. This time the focus is on
 the driver pattern to use mmu notifiers to monitor a VA range. This code
 is lifted out of many drivers and hmm_mirror directly into the
 mmu_notifier core and written using the best ideas from all the driver
 implementations.
 
 This removes many bugs from the drivers and has a very pleasing
 diffstat. More drivers can still be converted, but that is for another
 cycle.
 
 - A shared branch with RDMA reworking the RDMA ODP implementation
 
 - New mmu_interval_notifier API. This is focused on the use case of
   monitoring a VA and simplifies the process for drivers
 
 - A common seq-count locking scheme built into the mmu_interval_notifier
   API usable by drivers that call get_user_pages() or hmm_range_fault()
   with the VA range
 
 - Conversion of mlx5 ODP, hfi1, radeon, nouveau, AMD GPU, and Xen GntDev
   drivers to the new API. This deletes a lot of wonky driver code.
 
 - Two improvements for hmm_range_fault(), from testing done by Ralph
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEfB7FMLh+8QxL+6i3OG33FX4gmxoFAl3cCjQACgkQOG33FX4g
 mxpp8xAAiR9iOdT28m/tx1GF31XludrMhRZVIiz0vmCIxIiAkWekWEfAEVm9PDnh
 wdrxTJohSs+B65AK3sfToOM3AIuNCuFVWmbbHI5qmOO76vaSvcZa905Z++pNsawO
 Bn8mgRCprYoFHcxWLvTvnA5U0g1S2BSSOwBSZI43CbEnVvHjYAR6MnvRqfGMk+NF
 bf8fTk/x+fl0DCemhynlBLuJkogzoE2Hgl0yPY5bFna4PktOxdpa1yPaQsiqZ7e6
 2s2NtM3pbMBJk0W42q5BU+aPhiqfxFFszasPSLBduXrD2xDsG76HJdHj5VydKmfL
 nelG4BvqJozXTEZWvTEePYhCqaZ41eJZ7Asw8BXtmacVqE5mDlTXo/Zdgbz7yEOR
 mI5MVyjD5rauZJldUOWXbwrPoWVFRvboauehiSgqvxvT9HvlFp9GKObSuu4gubBQ
 mzxs4t48tPhA7bswLmw0/pETSogFuVDfaB7hsyY0gi8EwxMFMpw2qFypm1PEEF+C
 BuUxCSShzvNKrraNe5PWaNNFd3AzIwAOWJHE+poH4bCoXQVr5nA+rq2gnHkdY5vq
 /xrBCyxkf0U05YoFGYembPVCInMehzp9Xjy8V+SueSvCg2/TYwGDCgGfsbe9dNOP
 Bc40JpS7BDn5w9nyLUJmOx7jfruNV6kx1QslA7NDDrB/rzOlsEc=
 =Hj8a
 -----END PGP SIGNATURE-----

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 another round of bug fixing and cleanup. This time the focus
  is on the driver pattern to use mmu notifiers to monitor a VA range.
  This code is lifted out of many drivers and hmm_mirror directly into
  the mmu_notifier core and written using the best ideas from all the
  driver implementations.

  This removes many bugs from the drivers and has a very pleasing
  diffstat. More drivers can still be converted, but that is for another
  cycle.

   - A shared branch with RDMA reworking the RDMA ODP implementation

   - New mmu_interval_notifier API. This is focused on the use case of
     monitoring a VA and simplifies the process for drivers

   - A common seq-count locking scheme built into the
     mmu_interval_notifier API usable by drivers that call
     get_user_pages() or hmm_range_fault() with the VA range

   - Conversion of mlx5 ODP, hfi1, radeon, nouveau, AMD GPU, and Xen
     GntDev drivers to the new API. This deletes a lot of wonky driver
     code.

   - Two improvements for hmm_range_fault(), from testing done by Ralph"

* tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
  mm/hmm: remove hmm_range_dma_map and hmm_range_dma_unmap
  mm/hmm: make full use of walk_page_range()
  xen/gntdev: use mmu_interval_notifier_insert
  mm/hmm: remove hmm_mirror and related
  drm/amdgpu: Use mmu_interval_notifier instead of hmm_mirror
  drm/amdgpu: Use mmu_interval_insert instead of hmm_mirror
  drm/amdgpu: Call find_vma under mmap_sem
  nouveau: use mmu_interval_notifier instead of hmm_mirror
  nouveau: use mmu_notifier directly for invalidate_range_start
  drm/radeon: use mmu_interval_notifier_insert
  RDMA/hfi1: Use mmu_interval_notifier_insert for user_exp_rcv
  RDMA/odp: Use mmu_interval_notifier_insert()
  mm/hmm: define the pre-processor related parts of hmm.h even if disabled
  mm/hmm: allow hmm_range to be used with a mmu_interval_notifier or hmm_mirror
  mm/mmu_notifier: add an interval tree notifier
  mm/mmu_notifier: define the header pre-processor parts even if disabled
  mm/hmm: allow snapshot of the special zero page
2019-11-30 10:33:14 -08:00
..
accessibility
acpi dma-mapping updates for 5.5-rc1 2019-11-28 11:16:43 -08:00
amba ARM updates for 5.4-rc: 2019-10-23 06:26:33 -04:00
android binder: Handle start==NULL in binder_update_page_range() 2019-11-14 11:44:47 +08:00
ata dma-mapping updates for 5.5-rc1 2019-11-28 11:16:43 -08:00
atm atm: remove unneeded semicolon 2019-10-28 16:47:22 -07:00
auxdisplay
base Driver core patches for 5.5-rc1 2019-11-27 11:06:20 -08:00
bcma bcma: fix block comment style 2019-10-24 08:45:31 +03:00
block Printk changes for 5.5 2019-11-25 19:40:40 -08:00
bluetooth Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk 2019-11-22 13:35:20 +01:00
bus Staging / IIO patches for 5.5-rc1 2019-11-27 10:57:52 -08:00
cdrom Printk changes for 5.5 2019-11-25 19:40:40 -08:00
char Char/Misc driver patches for 5.5-rc1 2019-11-27 10:53:50 -08:00
clk Fixes for various clk driver issues that happened because of code we 2019-11-08 08:15:01 -08:00
clocksource First set of RISC-V updates for v5.5-rc1 2019-11-27 11:27:59 -08:00
connector
counter counter: Simplify the count_read and count_write callbacks 2019-10-18 19:47:27 +01:00
cpufreq Power management updates for 5.5-rc1 2019-11-26 19:06:44 -08:00
cpuidle cpuidle: Pass exit latency limit to cpuidle_use_deepest_state() 2019-11-20 11:46:18 +01:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-11-25 20:02:57 -08:00
dax device-dax: Add a driver for "hmem" devices 2019-11-07 15:45:00 +01:00
dca
devfreq PM / devfreq: tegra30: Tune up MCCPU boost-down coefficient 2019-11-06 12:04:01 +09:00
dio
dma dmaengine: cppi41: Fix cppi41_dma_prep_slave_sg() when idle 2019-10-23 21:15:21 +05:30
dma-buf Revert "dma-buf: Add dma-buf heaps framework" 2019-10-30 16:41:49 -04:00
edac EDAC/altera: Use the Altera System Manager driver 2019-11-22 10:18:29 +01:00
eisa
extcon Char/Misc driver patches for 5.5-rc1 2019-11-27 10:53:50 -08:00
firewire net: add annotations on hh->hh_len lockless accesses 2019-11-07 20:07:30 -08:00
firmware Char/Misc driver patches for 5.5-rc1 2019-11-27 10:53:50 -08:00
fpga fpga: dfl: fme: add power management support 2019-10-16 19:18:27 -07:00
fsi fsi: aspeed: Fix OPB0 byte order register values 2019-11-08 11:28:21 +01:00
gnss
gpio Driver core patches for 5.5-rc1 2019-11-27 11:06:20 -08:00
gpu hmm related patches for 5.5 2019-11-30 10:33:14 -08:00
greybus
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid 2019-11-07 11:54:54 -08:00
hsi
hv x86/hyperv: Initialize clockevents earlier in CPU onlining 2019-11-15 10:33:49 +01:00
hwmon hwmon updates for v5.5 2019-11-27 09:58:49 -08:00
hwspinlock
hwtracing intel_th: pci: Add Tiger Lake CPU support 2019-11-20 14:37:30 +01:00
i2c Driver core patches for 5.5-rc1 2019-11-27 11:06:20 -08:00
i3c i3c: Spelling s/dicovered/discovered/ 2019-10-31 11:24:52 +01:00
ide Printk changes for 5.5 2019-11-25 19:40:40 -08:00
idle
iio Staging / IIO patches for 5.5-rc1 2019-11-27 10:57:52 -08:00
infiniband hmm related patches for 5.5 2019-11-30 10:33:14 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2019-11-22 16:57:26 -08:00
interconnect Merge 5.4-rc7 into char-misc-next 2019-11-11 06:24:30 +01:00
iommu dma-mapping updates for 5.5-rc1 2019-11-28 11:16:43 -08:00
ipack
irqchip First set of RISC-V updates for v5.5-rc1 2019-11-27 11:27:59 -08:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-11-25 20:02:57 -08:00
leds leds: Use all-in-one vtime aware kcpustat accessor 2019-11-21 07:58:48 +01:00
lightnvm
macintosh Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-11-26 15:23:14 -08:00
mailbox mailbox: tegra: Fix superfluous IRQ error message 2019-11-12 15:09:19 +01:00
mcb drivers: mcb: use symbol namespaces 2019-11-03 19:54:53 +01:00
md - Fix DM core to disallow stacking request-based DM on partitions. 2019-11-25 11:53:26 -08:00
media drm main pull for 5.5-rc1 2019-11-27 17:45:48 -08:00
memory
memstick memstick: Fix Kconfig indentation 2019-11-21 12:25:59 +01:00
message
mfd power supply and reset changes for the v5.5 series 2019-11-27 09:55:39 -08:00
misc drm main pull for 5.5-rc1 2019-11-27 17:45:48 -08:00
mmc Driver core patches for 5.5-rc1 2019-11-27 11:06:20 -08:00
mtd Raw NAND core 2019-11-17 18:34:25 +01:00
mux
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-27 17:17:40 -08:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-22 16:27:24 -08:00
ntb ntb: ntb_pingpong: no need to check the return value of debugfs calls 2019-10-16 06:07:22 -07:00
nubus nubus: Remove cast to void pointer 2019-10-21 09:08:15 +02:00
nvdimm lib: Uplevel the pmem "region" ida to a global allocator 2019-11-07 15:44:29 +01:00
nvme for-5.5/drivers-post-20191122 2019-11-25 11:18:03 -08:00
nvmem Char/Misc driver patches for 5.5-rc1 2019-11-27 10:53:50 -08:00
of dma-mapping updates for 5.5-rc1 2019-11-28 11:16:43 -08:00
opp PM / OPP: Support adjusting OPP voltages at runtime 2019-11-11 10:27:15 +05:30
oprofile Printk changes for 5.5 2019-11-25 19:40:40 -08:00
parisc
parport parport: daisy: use new parport device model 2019-11-13 19:09:49 +08:00
pci ASoC: More updates for v5.5 2019-11-25 14:27:41 +01:00
pcmcia pcmcia: remove unused dprintk definition 2019-11-22 07:03:45 +01:00
perf drivers/perf: hisi: update the sccl_id/ccl_id for certain HiSilicon platform 2019-11-07 13:07:55 +00:00
phy Char/Misc driver patches for 5.5-rc1 2019-11-27 10:53:50 -08:00
pinctrl This is the bulk of pin control changes for the v5.5 kernel 2019-11-27 10:00:33 -08:00
platform Char/Misc driver patches for 5.5-rc1 2019-11-27 10:53:50 -08:00
pnp
power power supply and reset changes for the v5.5 series 2019-11-27 09:55:39 -08:00
powercap powercap/intel_rapl: add support for Cometlake desktop 2019-11-04 12:31:25 +01:00
pps
ps3
ptp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
pwm Merge 5.4-rc7 into staging-next 2019-11-11 06:23:37 +01:00
rapidio
ras
regulator Merge branch 'regulator-5.5' into regulator-next 2019-11-22 19:56:20 +00:00
remoteproc
reset reset: fix of_reset_control_get_count kerneldoc comment 2019-10-24 10:26:33 +02:00
rpmsg
rtc
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-11-25 20:02:57 -08:00
sbus
scsi Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-11-26 15:42:43 -08:00
sfi
sh sh/intc: Use pr_warn instead of pr_warning 2019-10-18 15:01:55 +02:00
siox
slimbus
soc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
soundwire Merge 5.4-rc7 into char-misc-next 2019-11-11 06:24:30 +01:00
spi Merge branch 'spi-5.5' into spi-next 2019-11-22 19:56:35 +00:00
spmi
ssb
staging Staging / IIO patches for 5.5-rc1 2019-11-27 10:57:52 -08:00
target SCSI fixes on 20191101 2019-11-07 06:43:18 -07:00
tc
tee
thermal cpufreq: Use per-policy frequency QoS 2019-10-21 02:05:21 +02:00
thunderbolt thunderbolt: Power cycle the router if NVM authentication fails 2019-11-19 17:35:57 +01:00
tty First set of RISC-V updates for v5.5-rc1 2019-11-27 11:27:59 -08:00
uio uio: fix irq init with dt support & irq not defined 2019-11-14 11:49:48 +08:00
usb dma-mapping updates for 5.5-rc1 2019-11-28 11:16:43 -08:00
vfio vfio/type1: Initialize resv_msi_base 2019-10-15 14:07:01 -06:00
vhost vhost/vsock: refuse CID assigned to the guest->host transport 2019-11-14 18:12:18 -08:00
video drm main pull for 5.5-rc1 2019-11-27 17:45:48 -08:00
virt
virtio virtio_balloon: fix shrinker count 2019-11-20 02:15:57 -05:00
visorbus
vlynq
vme
w1 w1: new driver. DS2430 chip 2019-11-14 13:06:33 +08:00
watchdog Merge 5.4-rc7 into char-misc-next 2019-11-11 06:24:30 +01:00
xen hmm related patches for 5.5 2019-11-30 10:33:14 -08:00
zorro
Kconfig
Makefile