Skip to content

Commit 3f910b7

Browse files
xhackerustcpalmer-dabbelt
authored andcommitted
riscv: enable HAVE_FAST_GUP if MMU
Activate the fast gup for riscv mmu platforms. Here are some GUP_FAST_BENCHMARK performance numbers: Before the patch: GUP_FAST_BENCHMARK: Time: get:53203 put:5085 us After the patch: GUP_FAST_BENCHMARK: Time: get:17711 put:5060 us The get time is reduced by 66.7%! IOW, 3x get speed! Signed-off-by: Jisheng Zhang <[email protected]> Reviewed-by: Alexandre Ghiti <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Palmer Dabbelt <[email protected]>
1 parent 69be3fb commit 3f910b7

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

arch/riscv/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ config RISCV
119119
select HAVE_FUNCTION_GRAPH_RETVAL if HAVE_FUNCTION_GRAPH_TRACER
120120
select HAVE_FUNCTION_TRACER if !XIP_KERNEL && !PREEMPTION
121121
select HAVE_EBPF_JIT if MMU
122+
select HAVE_FAST_GUP if MMU
122123
select HAVE_FUNCTION_ARG_ACCESS_API
123124
select HAVE_FUNCTION_ERROR_INJECTION
124125
select HAVE_GCC_PLUGINS

arch/riscv/include/asm/pgtable.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -673,6 +673,12 @@ static inline int pmd_write(pmd_t pmd)
673673
return pte_write(pmd_pte(pmd));
674674
}
675675

676+
#define pud_write pud_write
677+
static inline int pud_write(pud_t pud)
678+
{
679+
return pte_write(pud_pte(pud));
680+
}
681+
676682
static inline int pmd_dirty(pmd_t pmd)
677683
{
678684
return pte_dirty(pmd_pte(pmd));

0 commit comments

Comments
 (0)