public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
From: "Thomas Weißschuh (Schneider Electric)" <thomas.weissschuh@linutronix.de>
To: Clark Williams <williams@redhat.com>, John Kacur <jkacur@redhat.com>
Cc: linux-rt-users@vger.kernel.org,
	"Thomas Weißschuh (Schneider Electric)"
	<thomas.weissschuh@linutronix.de>
Subject: [PATCH 6/6] cyclictest: Add support for auxiliary clocks
Date: Tue, 07 Apr 2026 08:48:46 +0200	[thread overview]
Message-ID: <20260407-auxclocks-v1-6-1ef80d14eb0a@linutronix.de> (raw)
In-Reply-To: <20260407-auxclocks-v1-0-1ef80d14eb0a@linutronix.de>

The Linux kernel provides support for non-standard auxiliary clocks.
These run independently from the system clock and each other.

Allow cyclictest to also use those.

Signed-off-by: Thomas Weißschuh (Schneider Electric) <thomas.weissschuh@linutronix.de>

---
Currently clock_nanosleep() for these auxiliary clocks is not yet in the
mainline kernel.

Instead of having a dedicated parsing function, I used the unrolled
switch-case as it keeps the logic simple in the face of error handling.
---
 src/cyclictest/cyclictest.8 |  2 ++
 src/cyclictest/cyclictest.c | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/src/cyclictest/cyclictest.8 b/src/cyclictest/cyclictest.8
index 1a59d3b29048..f3390bc5c57d 100644
--- a/src/cyclictest/cyclictest.8
+++ b/src/cyclictest/cyclictest.8
@@ -59,6 +59,8 @@ select clock
 monotonic (default)
 .br
 realtime
+.br
+aux0 - aux7
 .TP
 .B \-\-deepest\-idle\-state=n
 Reduce exit from idle latency by limiting idle state up to n on used cpus (-1 disables all idle states). Power management is not suppresed on other cpus.
diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
index 2d1ff968f8aa..afc3a8c452da 100644
--- a/src/cyclictest/cyclictest.c
+++ b/src/cyclictest/cyclictest.c
@@ -52,6 +52,10 @@
 #define SCHED_NORMAL SCHED_OTHER
 #endif
 
+#ifndef CLOCK_AUX
+#define CLOCK_AUX 16
+#endif
+
 #define sigev_notify_thread_id _sigev_un._tid
 
 #ifdef __UCLIBC__
@@ -952,6 +956,7 @@ static void display_help(int error)
 	       "-c CLOCK --clock=CLOCK     select clock\n"
 	       "                           monotonic (default)\n"
 	       "                           realtime\n"
+	       "                           aux0 - aux7\n"
 	       "         --deepest-idle-state=n\n"
 	       "                           Reduce exit from idle latency by limiting idle state\n"
 	       "                           up to n on used cpus (-1 disables all idle states).\n"
@@ -1049,6 +1054,22 @@ static int handleclock(const char *clockarg)
 		used_clock = CLOCK_REALTIME;
 	else if (strcmp(clockarg, "realtime") == 0)
 		used_clock = CLOCK_REALTIME;
+	else if (strcmp(clockarg, "aux0") == 0)
+		used_clock = CLOCK_AUX + 0;
+	else if (strcmp(clockarg, "aux1") == 0)
+		used_clock = CLOCK_AUX + 1;
+	else if (strcmp(clockarg, "aux2") == 0)
+		used_clock = CLOCK_AUX + 2;
+	else if (strcmp(clockarg, "aux3") == 0)
+		used_clock = CLOCK_AUX + 3;
+	else if (strcmp(clockarg, "aux4") == 0)
+		used_clock = CLOCK_AUX + 4;
+	else if (strcmp(clockarg, "aux5") == 0)
+		used_clock = CLOCK_AUX + 5;
+	else if (strcmp(clockarg, "aux6") == 0)
+		used_clock = CLOCK_AUX + 6;
+	else if (strcmp(clockarg, "aux7") == 0)
+		used_clock = CLOCK_AUX + 7;
 	else
 		return 1;
 

-- 
2.53.0


  parent reply	other threads:[~2026-04-07  6:51 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-07  6:48 [PATCH 0/6] cyclictest: Add support for auxiliary clocks Thomas Weißschuh (Schneider Electric)
2026-04-07  6:48 ` [PATCH 1/6] cyclictest: Centralize clock option parsing Thomas Weißschuh (Schneider Electric)
2026-04-07  8:27   ` Florian Bezdeka
2026-04-07  8:45     ` Thomas Weißschuh (Schneider Electric)
2026-04-15 14:46   ` John Kacur
2026-04-07  6:48 ` [PATCH 2/6] cyclictest: Test the return value of timer_create() Thomas Weißschuh (Schneider Electric)
2026-04-15 14:47   ` John Kacur
2026-04-07  6:48 ` [PATCH 3/6] cyclictest: Fix error error returns for uclibc clock_nanosleep() fallback Thomas Weißschuh (Schneider Electric)
2026-04-07  8:16   ` Florian Bezdeka
2026-04-07  8:50     ` Thomas Weißschuh (Schneider Electric)
2026-04-07  8:59       ` Florian Bezdeka
2026-04-15 14:47   ` John Kacur
2026-04-07  6:48 ` [PATCH 4/6] cyclictest: Correctly print clock_nanosleep() errors Thomas Weißschuh (Schneider Electric)
2026-04-15 14:47   ` John Kacur
2026-04-07  6:48 ` [PATCH 5/6] cyclictest: Allow symbolic clock names Thomas Weißschuh (Schneider Electric)
2026-04-15 14:48   ` John Kacur
2026-04-07  6:48 ` Thomas Weißschuh (Schneider Electric) [this message]
2026-04-15 14:48   ` [PATCH 6/6] cyclictest: Add support for auxiliary clocks John Kacur

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=20260407-auxclocks-v1-6-1ef80d14eb0a@linutronix.de \
    --to=thomas.weissschuh@linutronix.de \
    --cc=jkacur@redhat.com \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=williams@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox