public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Nico Boehr <nrb@linux.ibm.com>
To: kvm@vger.kernel.org
Cc: frankja@linux.ibm.com, imbrenda@linux.ibm.com, thuth@redhat.com
Subject: [kvm-unit-tests PATCH v1 1/2] lib/s390x: time: add wrapper for stckf
Date: Tue, 30 Aug 2022 13:56:22 +0200	[thread overview]
Message-ID: <20220830115623.515981-2-nrb@linux.ibm.com> (raw)
In-Reply-To: <20220830115623.515981-1-nrb@linux.ibm.com>

Upcoming changes will do performance measurements of instructions. Since
stck is designed to return unique values even on concurrent calls, it is
unsuited for performance measurements. stckf should be used in this
case.

Hence, add a nice wrapper for stckf to the time library.

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
---
 lib/s390x/asm/time.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/s390x/asm/time.h b/lib/s390x/asm/time.h
index 7652a151e87a..d7c2bcb4f306 100644
--- a/lib/s390x/asm/time.h
+++ b/lib/s390x/asm/time.h
@@ -14,6 +14,15 @@
 #define STCK_SHIFT_US	(63 - 51)
 #define STCK_MAX	((1UL << 52) - 1)
 
+static inline uint64_t get_clock_fast(void)
+{
+	uint64_t clk;
+
+	asm volatile(" stckf %0 " : : "Q"(clk) : "memory");
+
+	return clk;
+}
+
 static inline uint64_t get_clock_us(void)
 {
 	uint64_t clk;
-- 
2.36.1


  reply	other threads:[~2022-08-30 11:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-30 11:56 [kvm-unit-tests PATCH v1 0/2] s390x: Add exit time test Nico Boehr
2022-08-30 11:56 ` Nico Boehr [this message]
2022-08-30 12:27   ` [kvm-unit-tests PATCH v1 1/2] lib/s390x: time: add wrapper for stckf Thomas Huth
2022-09-01 10:01     ` Nico Boehr
2022-08-30 11:56 ` [kvm-unit-tests PATCH v1 2/2] s390x: add exittime tests Nico Boehr
2022-08-30 12:52   ` Thomas Huth
2022-08-31 11:25     ` Nico Boehr
2022-09-01 11:37     ` Nico Boehr

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=20220830115623.515981-2-nrb@linux.ibm.com \
    --to=nrb@linux.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=thuth@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