All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alistair Francis <alistair.francis@opensource.wdc.com>
To: linux-kernel@vger.kernel.org
Cc: dave@stgolabs.net, dvhart@infradead.org, arnd@arndb.de,
	alistair23@gmail.com, namhyung@kernel.org, acme@kernel.org,
	jolsa@redhat.com, linux-perf-users@vger.kernel.org,
	alexander.shishkin@linux.intel.com, mark.rutland@arm.com,
	mingo@redhat.com, peterz@infradead.org, tglx@linutronix.de,
	Alistair Francis <alistair.francis@wdc.com>
Subject: [PATCH v5 4/6] selftests: futex: Add support for 32-bit systems with 64-bit time_t
Date: Fri, 10 Dec 2021 09:58:55 +1000	[thread overview]
Message-ID: <20211209235857.423773-4-alistair.francis@opensource.wdc.com> (raw)
In-Reply-To: <20211209235857.423773-1-alistair.francis@opensource.wdc.com>

From: Alistair Francis <alistair.francis@wdc.com>

Using the new __kernel_futex_syscall*() functions let's add support for
32-bit systems with a 64-bit time_t. We can just direclty call the
publically exposed __kernel_futex_syscall_timeout() and
__kernel_futex_syscall_nr_requeue() functions to do this.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
 tools/testing/selftests/futex/functional/futex_requeue_pi.c | 2 +-
 tools/testing/selftests/futex/include/futextest.h           | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/futex/functional/futex_requeue_pi.c b/tools/testing/selftests/futex/functional/futex_requeue_pi.c
index 1ee5518ee6b7..556bf3e74755 100644
--- a/tools/testing/selftests/futex/functional/futex_requeue_pi.c
+++ b/tools/testing/selftests/futex/functional/futex_requeue_pi.c
@@ -294,7 +294,7 @@ int unit_test(int broadcast, long lock, int third_party_owner, long timeout_ns)
 		secs = (ts.tv_nsec + timeout_ns) / 1000000000;
 		ts.tv_nsec = ((int64_t)ts.tv_nsec + timeout_ns) % 1000000000;
 		ts.tv_sec += secs;
-		info("ts.tv_sec  = %ld\n", ts.tv_sec);
+		info("ts.tv_sec  = %lld\n", (long long) ts.tv_sec);
 		info("ts.tv_nsec = %ld\n", ts.tv_nsec);
 		tsp = &ts;
 	}
diff --git a/tools/testing/selftests/futex/include/futextest.h b/tools/testing/selftests/futex/include/futextest.h
index c786fffecb8a..1686f94667b1 100644
--- a/tools/testing/selftests/futex/include/futextest.h
+++ b/tools/testing/selftests/futex/include/futextest.h
@@ -21,6 +21,7 @@
 #include <sys/syscall.h>
 #include <sys/types.h>
 #include <linux/futex.h>
+#include <linux/futex_syscall.h>
 
 typedef volatile u_int32_t futex_t;
 #define FUTEX_INITIALIZER 0
@@ -69,14 +70,14 @@ static inline int
 futex_syscall(volatile u_int32_t *uaddr, int op, u_int32_t val, struct timespec *timeout,
 	      volatile u_int32_t *uaddr2, int val3, int opflags)
 {
-	return syscall(SYS_futex, uaddr, op | opflags, val, timeout, uaddr2, val3);
+	return __kernel_futex_syscall_timeout(uaddr, op | opflags, val, timeout, uaddr2, val3);
 }
 
 static inline int
 futex_syscall_nr_requeue(volatile u_int32_t *uaddr, int op, u_int32_t val, int nr_requeue,
 			 volatile u_int32_t *uaddr2, int val3, int opflags)
 {
-	return syscall(SYS_futex, uaddr, op | opflags, val, nr_requeue, uaddr2, val3);
+	return __kernel_futex_syscall_nr_requeue(uaddr, op | opflags, val, nr_requeue, uaddr2, val3);
 }
 
 /**
-- 
2.31.1


  parent reply	other threads:[~2021-12-09 23:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-09 23:58 [PATCH v5 1/6] perf bench futex: Add support for 32-bit systems with 64-bit time_t Alistair Francis
2021-12-09 23:58 ` Alistair Francis
2021-12-09 23:58 ` [PATCH v5 2/6] selftests: futex: Call the futex syscall from a function Alistair Francis
2021-12-09 23:58 ` [PATCH v5 3/6] uapi: futex: Add a futex syscall Alistair Francis
2021-12-09 23:58 ` Alistair Francis [this message]
2021-12-09 23:58 ` [PATCH v5 5/6] uapi: futex: Add a futex waitv syscall Alistair Francis
2021-12-09 23:58 ` [PATCH v5 6/6] selftests: futex: Use futex_waitv helper function Alistair Francis
2021-12-10 13:12 ` [PATCH v5 1/6] perf bench futex: Add support for 32-bit systems with 64-bit time_t Arnaldo Carvalho de Melo
2021-12-10 13:12   ` Arnaldo Carvalho de Melo
2021-12-10 13:36 ` Arnaldo Carvalho de Melo
2021-12-10 13:36   ` Arnaldo Carvalho de Melo
2021-12-10 13:44   ` Arnaldo Carvalho de Melo
2021-12-10 13:44     ` Arnaldo Carvalho de Melo
2021-12-10 14:23     ` Arnd Bergmann
2021-12-10 14:23       ` Arnd Bergmann
2021-12-11 11:28       ` Arnaldo Carvalho de Melo
2021-12-11 11:28         ` Arnaldo Carvalho de Melo
2022-02-01  5:37   ` Alistair Francis
2022-02-01  5:37     ` Alistair Francis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211209235857.423773-4-alistair.francis@opensource.wdc.com \
    --to=alistair.francis@opensource.wdc.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=alistair.francis@wdc.com \
    --cc=alistair23@gmail.com \
    --cc=arnd@arndb.de \
    --cc=dave@stgolabs.net \
    --cc=dvhart@infradead.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.