Re: [PATCH 4/4] riscv: enable HAVE_FAST_GUP if MMU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19/12/2023 18:50, Jisheng Zhang wrote:
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


On which platform did you run this benchmark?



The get time is reduced by 66.7%! IOW, 3x get speed!


Well done!

Thanks,

Alex



Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx>
---
  arch/riscv/Kconfig               | 1 +
  arch/riscv/include/asm/pgtable.h | 6 ++++++
  2 files changed, 7 insertions(+)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index d3555173d9f4..04df9920282d 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -119,6 +119,7 @@ config RISCV
  	select HAVE_FUNCTION_GRAPH_RETVAL if HAVE_FUNCTION_GRAPH_TRACER
  	select HAVE_FUNCTION_TRACER if !XIP_KERNEL && !PREEMPTION
  	select HAVE_EBPF_JIT if MMU
+	select HAVE_FAST_GUP if MMU
  	select HAVE_FUNCTION_ARG_ACCESS_API
  	select HAVE_FUNCTION_ERROR_INJECTION
  	select HAVE_GCC_PLUGINS
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index ab00235b018f..c6eb214139e6 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -673,6 +673,12 @@ static inline int pmd_write(pmd_t pmd)
  	return pte_write(pmd_pte(pmd));
  }
+#define pud_write pud_write
+static inline int pud_write(pud_t pud)
+{
+	return pte_write(pud_pte(pud));
+}
+
  static inline int pmd_dirty(pmd_t pmd)
  {
  	return pte_dirty(pmd_pte(pmd));




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux