Re: [PATCH V2] selftests/vDSO: Add riscv getcpu & gettimeofday test

From: Palmer Dabbelt
Date: Fri Dec 02 2022 - 13:03:33 EST


On Thu, 03 Nov 2022 01:04:51 PDT (-0700), guoren@xxxxxxxxxx wrote:
From: Guo Ren <guoren@xxxxxxxxxx>

Enable vDSO getcpu & gettimeofday test for riscv. But only riscv64
supports __vdso_gettimeofday and riscv32 is under development.

VERSION
{
LINUX_4.15 {
global:
__vdso_rt_sigreturn;
__vdso_gettimeofday;
__vdso_clock_gettime;
__vdso_clock_getres;
__vdso_getcpu;
__vdso_flush_icache;
local: *;
};
}

Co-developed-by: haocheng.zy <haocheng.zy@xxxxxxxxxxxxxxxxx>
Signed-off-by: haocheng.zy <haocheng.zy@xxxxxxxxxxxxxxxxx>
Suggested-by: Mao Han <han_mao@xxxxxxxxxxxxxxxxx>
Reviewed-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
Signed-off-by: Guo Ren <guoren@xxxxxxxxxx>
Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>
Cc: Elliott Hughes <enh@xxxxxxxxxx>
---
tools/testing/selftests/vDSO/vdso_test_getcpu.c | 4 ++++
tools/testing/selftests/vDSO/vdso_test_gettimeofday.c | 3 +++
2 files changed, 7 insertions(+)

diff --git a/tools/testing/selftests/vDSO/vdso_test_getcpu.c b/tools/testing/selftests/vDSO/vdso_test_getcpu.c
index fc25ede131b8..1df5d057d79f 100644
--- a/tools/testing/selftests/vDSO/vdso_test_getcpu.c
+++ b/tools/testing/selftests/vDSO/vdso_test_getcpu.c
@@ -14,7 +14,11 @@
#include "../kselftest.h"
#include "parse_vdso.h"

+#if defined(__riscv)
+const char *version = "LINUX_4.15";
+#else
const char *version = "LINUX_2.6";
+#endif
const char *name = "__vdso_getcpu";

struct getcpu_cache;
diff --git a/tools/testing/selftests/vDSO/vdso_test_gettimeofday.c b/tools/testing/selftests/vDSO/vdso_test_gettimeofday.c
index 8ccc73ed8240..e411f287a426 100644
--- a/tools/testing/selftests/vDSO/vdso_test_gettimeofday.c
+++ b/tools/testing/selftests/vDSO/vdso_test_gettimeofday.c
@@ -27,6 +27,9 @@
#if defined(__aarch64__)
const char *version = "LINUX_2.6.39";
const char *name = "__kernel_gettimeofday";
+#elif defined(__riscv)
+const char *version = "LINUX_4.15";
+const char *name = "__vdso_gettimeofday";
#else
const char *version = "LINUX_2.6";
const char *name = "__vdso_gettimeofday";

Reviewed-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx>
Acked-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx>

Looks like Shauh usually takes patches for this vdso selftest, but happy to take it through the RISC-V tree if that's easier. Either way's fine with me, I'm leaving it in patchwork for now as a reminder.

Thanks!