linux_dsm_epyc7002/drivers/infiniband/hw/usnic
Davidlohr Bueso 70f8a3ca68 mm: make mm->pinned_vm an atomic64 counter
Taking a sleeping lock to _only_ increment a variable is quite the
overkill, and pretty much all users do this. Furthermore, some drivers
(ie: infiniband and scif) that need pinned semantics can go to quite
some trouble to actually delay via workqueue (un)accounting for pinned
pages when not possible to acquire it.

By making the counter atomic we no longer need to hold the mmap_sem and
can simply some code around it for pinned_vm users. The counter is 64-bit
such that we need not worry about overflows such as rdma user input
controlled from userspace.

Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Christoph Lameter <cl@linux.com>
Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-02-07 12:54:02 -07:00
..
Kconfig IB/usnic: usnic should not select INFINIBAND_USER_ACCESS 2018-07-25 21:25:54 -06:00
Makefile infiniband: prefix header search paths with $(srctree)/ 2019-01-25 15:28:50 -07:00
usnic_abi.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_common_pkt_hdr.h RDMA: Adding ethertype ETH_P_IBOE 2017-01-10 14:05:11 -05:00
usnic_common_util.h {net,IB}/{rxe,usnic}: Utilize generic mac to eui32 function 2017-04-25 14:21:34 -04:00
usnic_debugfs.c infiniband: usnic: no need to check return value of debugfs_create functions 2019-01-24 09:22:30 -07:00
usnic_debugfs.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_fwd.c RDMA/usnic: Suppress a compiler warning 2018-07-26 11:39:06 -06:00
usnic_fwd.h RDMA/usnic: Suppress a compiler warning 2018-07-26 11:39:06 -06:00
usnic_ib_main.c IB/usnic: Remove stub functions 2019-01-30 20:32:25 -07:00
usnic_ib_qp_grp.c IB/usnic: fix spelling mistake "miniumum" -> "minimum" 2018-11-29 15:59:40 -07:00
usnic_ib_qp_grp.h RDMA/usnic: Instantiate data structures once 2017-10-14 20:47:07 -04:00
usnic_ib_sysfs.c RDMA: Introduce and use rdma_device_to_ibdev() 2019-01-14 13:12:03 -07:00
usnic_ib_sysfs.h RDMA/drivers: Use core provided API for registering device attributes 2018-10-17 03:45:01 -06:00
usnic_ib_verbs.c IB/usnic: Remove stub functions 2019-01-30 20:32:25 -07:00
usnic_ib_verbs.h IB/usnic: Remove stub functions 2019-01-30 20:32:25 -07:00
usnic_ib.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_log.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_transport.c IB/usnic: fix spelling mistake "unvalid" -> "invalid" 2018-09-25 14:35:06 -06:00
usnic_transport.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_uiom_interval_tree.c lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
usnic_uiom_interval_tree.h lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
usnic_uiom.c mm: make mm->pinned_vm an atomic64 counter 2019-02-07 12:54:02 -07:00
usnic_uiom.h RDMA/usnic: Do not use ucontext->tgid 2018-09-20 16:19:30 -04:00
usnic_vnic.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
usnic_vnic.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00