From 69e6c8838183e0924a1065bb114ea3b9e48729a2 Mon Sep 17 00:00:00 2001 From: yangchenguang Date: Tue, 15 Aug 2023 19:32:40 +0800 Subject: [PATCH] Add loogarch64 and sw_64 support Signed-off-by: yangchenguang --- add-loongarch-support-for-perftest.patch | 35 ++++++++++++++++++++++++ add-sw-support-for-perftest.patch | 21 ++++++++++++++ perftest.spec | 16 +++++++---- 3 files changed, 67 insertions(+), 5 deletions(-) create mode 100644 add-loongarch-support-for-perftest.patch create mode 100644 add-sw-support-for-perftest.patch diff --git a/add-loongarch-support-for-perftest.patch b/add-loongarch-support-for-perftest.patch new file mode 100644 index 0000000..515f8bf --- /dev/null +++ b/add-loongarch-support-for-perftest.patch @@ -0,0 +1,35 @@ +From 9600d3bae7e8f116aff303df7e13f23e67274096 Mon Sep 17 00:00:00 2001 +From: Wenlong Zhang +Date: Sat, 7 Jan 2023 03:23:20 +0000 +Subject: [PATCH] add loongarch support for perftest + +add function get_cycles for loongarch64 + +Signed-off-by: Wenlong Zhang +--- + src/get_clock.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/get_clock.h b/src/get_clock.h +index dacbcd0..5b7b48b 100755 +--- a/src/get_clock.h ++++ b/src/get_clock.h +@@ -105,6 +105,15 @@ static inline cycles_t get_cycles() + return cval; + } + ++#elif defined(__loongarch64) ++typedef unsigned long cycles_t; ++static inline cycles_t get_cycles() ++{ ++ cycles_t count; ++ asm volatile("rdtime.d %0, $zero" : "=r" (count)); ++ return count; ++} ++ + #else + #warning get_cycles not implemented for this architecture: attempt asm/timex.h + #include +-- +2.33.0 + diff --git a/add-sw-support-for-perftest.patch b/add-sw-support-for-perftest.patch new file mode 100644 index 0000000..3969eee --- /dev/null +++ b/add-sw-support-for-perftest.patch @@ -0,0 +1,21 @@ +diff -Naur perftest-4.2.org/src/get_clock.h perftest-4.2.sw/src/get_clock.h +--- perftest-4.2.org/src/get_clock.h 2022-05-26 10:19:07.070000000 +0000 ++++ perftest-4.2.sw/src/get_clock.h 2022-05-26 13:18:22.450000000 +0000 +@@ -105,6 +105,17 @@ + return cval; + } + ++#elif defined(__sw_64__) ++ ++typedef unsigned long cycles_t; ++static inline cycles_t get_cycles() ++{ ++ cycles_t cval; ++ asm volatile("memb" : : : "memory"); ++ asm volatile("rtc %0" : "=r" (cval)); ++ return cval; ++} ++ + #else + #warning get_cycles not implemented for this architecture: attempt asm/timex.h + #include diff --git a/perftest.spec b/perftest.spec index 5694979..560f1ef 100644 --- a/perftest.spec +++ b/perftest.spec @@ -1,6 +1,6 @@ Name: perftest Version: 4.5 -Release: 3 +Release: 4 License: GPLv2 or BSD Summary: RDMA Performance Testing Tools Url: https://github.com/linux-rdma/perftest @@ -13,8 +13,11 @@ Patch4: 0004-Perftest-Increase-max-inline-size-to-support-larger-.patch Patch5: 0005-Perftest-Add-support-for-HNS.patch Patch6: 0006-Perftest-Add-new-HNS-roce-device-ROH-to-support-new_.patch +Patch1000: add-sw-support-for-perftest.patch +Patch1001: add-loongarch-support-for-perftest.patch + BuildRequires: automake gcc libibverbs-devel >= 1.2.0 librdmacm-devel >= 1.0.21 libibumad-devel >= 1.3.10.2 -BuildRequires: pciutils-devel +BuildRequires: pciutils-devel guile Obsoletes: openib-perftest < 1.3 %description @@ -37,6 +40,9 @@ done %_bindir/* %changelog +* Tue Aug 15 2023 yangchenguang - 4.5-4 +- Add sw_64 and loongarch64 support + * Tue Nov 22 2022 tangchengchang - 4.5-3 - Type: bugfix - ID: NA @@ -52,13 +58,13 @@ done * Tue Jan 18 2022 SimpleUpdate Robot - 4.5-1 - Upgrade to version 4.5 -* Tue 3 Aug 2021 Shenmei Tu - 4.2-7 +* Tue Aug 03 2021 Shenmei Tu - 4.2-7 - bugfix-of-gcc-10.patch -* Fri 30 July 2021 Shenmei Tu - 4.2-6 +* Fri Jul 30 2021 Shenmei Tu - 4.2-6 - bug fix of multiple definition -* Web 02 Jun 2021 zhaoyao - 4.2-5 +* Wed Jun 02 2021 zhaoyao - 4.2-5 - fixs faileds: /bin/sh: gcc: command not found. * Tue Nov 13 2019 Shuaishuai Song - 4.2-4 -- Gitee