Re: [PATCH 4/4] RDMA/umem: batch page unpin in __ib_mem_release()

2021-02-05 Thread Joao Martins
On 2/4/21 8:00 PM, Jason Gunthorpe wrote: > On Wed, Feb 03, 2021 at 04:15:53PM -0800, John Hubbard wrote: >>> diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c >>> index 2dde99a9ba07..ea4ebb3261d9 100644 >>> +++ b/drivers/infiniband/core/umem.c >>> @@ -47,17 +47,17 @@

Re: [PATCH 4/4] RDMA/umem: batch page unpin in __ib_mem_release()

2021-02-04 Thread Jason Gunthorpe
On Wed, Feb 03, 2021 at 04:15:53PM -0800, John Hubbard wrote: > > diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c > > index 2dde99a9ba07..ea4ebb3261d9 100644 > > +++ b/drivers/infiniband/core/umem.c > > @@ -47,17 +47,17 @@ > > static void __ib_umem_release(struct

Re: [PATCH 4/4] RDMA/umem: batch page unpin in __ib_mem_release()

2021-02-04 Thread Joao Martins
On 2/4/21 12:15 AM, John Hubbard wrote: > On 2/3/21 2:00 PM, Joao Martins wrote: >> Use the newly added unpin_user_page_range_dirty_lock() >> for more quickly unpinning a consecutive range of pages >> represented as compound pages. This will also calculate >> number of pages to unpin (for the

Re: [PATCH 4/4] RDMA/umem: batch page unpin in __ib_mem_release()

2021-02-03 Thread John Hubbard
On 2/3/21 2:00 PM, Joao Martins wrote: Use the newly added unpin_user_page_range_dirty_lock() for more quickly unpinning a consecutive range of pages represented as compound pages. This will also calculate number of pages to unpin (for the tail pages which matching head page) and thus batch the

[PATCH 4/4] RDMA/umem: batch page unpin in __ib_mem_release()

2021-02-03 Thread Joao Martins
Use the newly added unpin_user_page_range_dirty_lock() for more quickly unpinning a consecutive range of pages represented as compound pages. This will also calculate number of pages to unpin (for the tail pages which matching head page) and thus batch the refcount update. Running a test program