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

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

 



On 02/01/2024 04:25, Jisheng Zhang wrote:
On Sun, Dec 31, 2023 at 07:37:33AM +0100, Alexandre Ghiti wrote:
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?
T-HEAD th1520(cpufreq isn't enabled since the clk/pll isn't upstreamed,
so cpu is running at the default freq set by u-boot)

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));


Thanks, you can add:

Reviewed-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>

Thanks,

Alex


_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux