All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denis Plotnikov <dplotnikov@virtuozzo.com>
To: pbonzini@redhat.com, rkrcmar@redhat.com, kvm@vger.kernel.org,
	john.stultz@linaro.org, tglx@linutronix.de
Cc: mingo@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org,
	x86@kernel.org, rkagan@virtuozzo.com, den@virtuozzo.com
Subject: [PATCH v5 1/6] timekeeper: introduce extended clocksource reading callback
Date: Wed, 30 Aug 2017 18:23:43 +0300	[thread overview]
Message-ID: <1504106628-172372-2-git-send-email-dplotnikov@virtuozzo.com> (raw)
In-Reply-To: <1504106628-172372-1-git-send-email-dplotnikov@virtuozzo.com>

The callback provides extended information about just read
clocksource value.

It's going to be used in cases when detailed system information
needed for further time related values calculation, e.g in KVM
masterclock settings calculation.

Signed-off-by: Denis Plotnikov <dplotnikov@virtuozzo.com>
---
 include/linux/clocksource.h | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index a78cb18..786a522 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -48,7 +48,14 @@ struct module;
  *			400-499: Perfect
  *				The ideal clocksource. A must-use where
  *				available.
- * @read:		returns a cycle value, passes clocksource as argument
+ * @read:		returns a cycle value (might be not quite cycles:
+ *			see pvclock) passes clocksource as argument
+ * @read_with_stamp:	saves cycles value (got from timekeeper) and cycles
+ *			stamp (got from hardware counter value and used by
+ *			timekeeper to calculate the cycles value) to
+ *			corresponding input pointers return true if cycles
+ *			stamp holds real cycles and false if it holds some
+ *			time derivative value
  * @enable:		optional function to enable the clocksource
  * @disable:		optional function to disable the clocksource
  * @mask:		bitmask for two's complement
@@ -78,6 +85,8 @@ struct module;
  */
 struct clocksource {
 	u64 (*read)(struct clocksource *cs);
+	bool (*read_with_stamp)(struct clocksource *cs,
+				u64 *cycles, u64 *cycles_stamp);
 	u64 mask;
 	u32 mult;
 	u32 shift;
-- 
2.7.4

  reply	other threads:[~2017-08-30 15:25 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-30 15:23 [PATCH v5 0/6] KVM: x86: get rid of pvclock_gtod_copy Denis Plotnikov
2017-08-30 15:23 ` Denis Plotnikov [this message]
2017-09-25 22:00   ` [PATCH v5 1/6] timekeeper: introduce extended clocksource reading callback Thomas Gleixner
2017-09-26 16:51     ` Paolo Bonzini
2017-09-27  8:52       ` Thomas Gleixner
2017-09-27 10:43         ` Paolo Bonzini
2017-09-27 11:53           ` Thomas Gleixner
2017-09-27 12:14             ` Paolo Bonzini
2017-09-27 13:45               ` Thomas Gleixner
2017-09-27  9:18       ` Thomas Gleixner
2017-08-30 15:23 ` [PATCH v5 2/6] timekeeper: introduce boot field in system_time_snapshot Denis Plotnikov
2017-08-30 15:23 ` [PATCH v5 3/6] timekeeper: use the extended reading function on snapshot acquiring Denis Plotnikov
2017-08-30 15:23 ` [PATCH v5 4/6] tsc: implement the extended tsc reading function Denis Plotnikov
2017-08-30 15:23 ` [PATCH v5 5/6] KVM: x86: switch to masterclock update using timekeeper functionality Denis Plotnikov
2017-08-30 15:23 ` [PATCH v5 6/6] KVM: x86: remove not used pvclock_gtod_copy Denis Plotnikov
2017-09-11  9:24 ` [PATCH v5 0/6] KVM: x86: get rid of pvclock_gtod_copy Denis Plotnikov
2017-09-18  7:35   ` Thomas Gleixner

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=1504106628-172372-2-git-send-email-dplotnikov@virtuozzo.com \
    --to=dplotnikov@virtuozzo.com \
    --cc=den@virtuozzo.com \
    --cc=hpa@zytor.com \
    --cc=john.stultz@linaro.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=rkagan@virtuozzo.com \
    --cc=rkrcmar@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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.