/ 详情

[OLK-5.10] mm/gup: page unpining improvements

Done
Requirement
Opened this issue  
2021-07-12 15:30

This series improves page unpinning, with an eye on improving MR
deregistration for big swaths of memory (which is bound by the page
unpining), particularly:

  1. Decrement the head page by @ntails and thus reducing a lot the number of
    atomic operations per compound page. This is done by comparing individual
    tail pages heads, and counting number of consecutive tails on which they
    match heads and based on that update head page refcount. Should have a
    visible improvement in all page (un)pinners which use compound pages

  2. Introducing a new API for unpinning page ranges (to avoid the trick in the
    previous item and be based on math), and use that in RDMA ib_mem_release
    (used for mr deregistration).

Performance improvements: unpin_user_pages() for hugetlbfs and THP improves ~3x
(through gup_test) and RDMA MR dereg improves ~4.5x with the new API.
See patches 2 and 4 for those.

Attachments

Comments (2)

Hey fanchengyang, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot .
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

fanchengyang created需求
fanchengyang set related repository to openEuler/kernel
openeuler-ci-bot added
 
sig/Kernel
label
zhengzengkai set branch to openEuler-21.09
Expand operation logs

openEuler-21.09分支合入如下相关补丁:
ba11d36c1bd7 RDMA/umem: batch page unpin in __ib_umem_release()
7445eefe1d51 mm/gup: add a range variant of unpin_user_pages_dirty_lock()
f995ea2ce566 mm/gup: decrement head page once for group of subpages
5a926bf22c07 mm/gup: add compound page list iterator

zhengzengkai changed issue state from 新建 to 已完成

Sign in to comment

Status
Assignees
Projects
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
Duration (hours)
Confirm
参与者(3)
5329419 openeuler ci bot 1632792936