mbox series

[v2,0/4] arm: support get_user_pages_fast

Message ID 20201023091437.8225-1-miles.chen@mediatek.com (mailing list archive)
Headers show
Series arm: support get_user_pages_fast | expand

Message

Miles Chen Oct. 23, 2020, 9:14 a.m. UTC
get_user_pages_fast helps app's launching time because it could reduce
mmap_sem lock contentions when app is launching.

Minchan posted a RFC patch and patch v1 [1] in 2018 and currently he has no
bandwidth to rework this patch, so I rebase Minchan's patch
(arm: support get_user_pages_fast) and modify the patch according
to Catalin's comment and re-post this patch.

First, to use generic get_user_pages_fast code, use strict mm type in
pgtable-2level-types.

2nd patch: reorder memory type table to use 5th bit of the page table

3rd patch: introduces L_PTE_SPECIAL for arm so that last patch can
support get_user_pags_fast.

4th patch: remove L_PTE_MT_VECTORS and use read-only type.


[1] https://lore.kernel.org/patchwork/cover/986573/

Change since v1:
* modify comment
* remove L_PTE_MT_VECTORS and use read-only type 

Change since RFC:
* Remove CPU_v7M - Catalin
* define DEV_NONSHARED to SHARED - Catalin
* https://lkml.kernel.org/r/20180910165011.zcighyuabshsmxjb@armageddon.cambridge.arm.com


Miles Chen (2):
  arm: mm: use strict p[gum]d types
  arm: replace vector mem type with read-only type

Minchan Kim (2):
  arm: mm: reordering memory type table
  arm: mm: introduce L_PTE_SPECIAL

 arch/arm/Kconfig                            |  4 ++--
 arch/arm/include/asm/fixmap.h               |  6 ++---
 arch/arm/include/asm/pgtable-2level-types.h | 26 ---------------------
 arch/arm/include/asm/pgtable-2level.h       | 22 +++++++++++++----
 arch/arm/include/asm/pgtable-3level.h       |  6 -----
 arch/arm/include/asm/pgtable.h              | 13 +++++++++++
 arch/arm/mm/mmu.c                           |  7 +++---
 arch/arm/mm/proc-macros.S                   |  2 +-
 8 files changed, 40 insertions(+), 46 deletions(-)