diff options
author | Davidlohr Bueso <dave@stgolabs.net> | 2019-02-06 09:59:17 -0800 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2019-02-07 12:54:02 -0700 |
commit | 3a2a1e90564e3ad215aa5c6ddc0e741cd6208a93 (patch) | |
tree | e6abdb64e1af8e20a1a4204dca5f7f9388358c46 /drivers/infiniband/hw/hfi1 | |
parent | drivers/mic/scif: do not use mmap_sem (diff) | |
download | linux-dev-3a2a1e90564e3ad215aa5c6ddc0e741cd6208a93.tar.xz linux-dev-3a2a1e90564e3ad215aa5c6ddc0e741cd6208a93.zip |
drivers/IB,qib: optimize mmap_sem usage
The driver uses mmap_sem for both pinned_vm accounting and
get_user_pages(). Because rdma drivers might want to use gup_longterm() in
the future we still need some sort of mmap_sem serialization (as opposed
to removing it entirely by using gup_fast()). Now that pinned_vm is atomic
the writer lock can therefore be converted to reader.
This also fixes a bug that __qib_get_user_pages was not taking into
account the current value of pinned_vm.
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1')
0 files changed, 0 insertions, 0 deletions