From: Marc Zyngier <maz@kernel.org> To: Jianyong Wu <jianyong.wu@arm.com>, netdev@vger.kernel.org, pbonzini@redhat.com, sean.j.christopherson@intel.com, richardcochran@gmail.com, Mark.Rutland@arm.com, Will.Deacon@arm.com, suzuki.poulose@arm.com Cc: linux-kernel@vger.kernel.org, Steve.Capper@arm.com, Kaly.Xin@arm.com, justin.he@arm.com, nd@arm.com, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 3/6] Timer: expose monotonic clock and counter value Date: Tue, 17 Sep 2019 18:10:26 +0100 [thread overview] Message-ID: <ad38f692-a7c4-34e0-8236-ebd2d237bd93@kernel.org> (raw) In-Reply-To: <20190917112430.45680-4-jianyong.wu@arm.com> On 17/09/2019 12:24, Jianyong Wu wrote: > A number of PTP drivers (such as ptp-kvm) are assuming what the > current clock source is, which could lead to interesting effects on > systems where the clocksource can change depending on external events. > > For this purpose, add a new API that retrives both the current > monotonic clock as well as its counter value. > > Signed-off-by: Marc Zyngier <maz@kernel.org> > Signed-off-by: Jianyong Wu <jianyong.wu@arm.com> There must be something wrong with the way you've taken this patch in your tree. My authorship is gone (not that I deeply care about it, but it is good practice to keep attributions), and the subject line has been rewritten. I'd appreciate it if you could fix this in a future revision of this series. For reference, the original patch is here[1]. > --- > include/linux/timekeeping.h | 3 +++ > kernel/time/timekeeping.c | 13 +++++++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h > index a8ab0f143ac4..a5389adaa8bc 100644 > --- a/include/linux/timekeeping.h > +++ b/include/linux/timekeeping.h > @@ -247,6 +247,9 @@ extern int get_device_system_crosststamp( > struct system_time_snapshot *history, > struct system_device_crosststamp *xtstamp); > > +/* Obtain current monotonic clock and its counter value */ > +extern void get_current_counterval(struct system_counterval_t *sc); > + > /* > * Simultaneously snapshot realtime and monotonic raw clocks > */ > diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c > index 44b726bab4bd..07a0969625b1 100644 > --- a/kernel/time/timekeeping.c > +++ b/kernel/time/timekeeping.c > @@ -1098,6 +1098,19 @@ static bool cycle_between(u64 before, u64 test, u64 after) > return false; > } > > +/** > + * get_current_counterval - Snapshot the current clocksource and counter value > + * @sc: Pointer to a struct containing the current clocksource and its value > + */ > +void get_current_counterval(struct system_counterval_t *sc) > +{ > + struct timekeeper *tk = &tk_core.timekeeper; > + > + sc->cs = READ_ONCE(tk->tkr_mono.clock); > + sc->cycles = sc->cs->read(sc->cs); > +} > +EXPORT_SYMBOL_GPL(get_current_counterval); This export wasn't in my original patch. I guess you need it because your ptp driver builds as a module? It'd be good to mention it in the commit log. > + > /** > * get_device_system_crosststamp - Synchronously capture system/device timestamp > * @get_time_fn: Callback to get simultaneous device time and > Thanks, M. [1] https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?h=timer/counterval&id=a6e8abce025691b6a55e1c195878d7f76bfeb9d1 -- Jazz is not dead, it just smells funny...
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org> To: Jianyong Wu <jianyong.wu@arm.com>, netdev@vger.kernel.org, pbonzini@redhat.com, sean.j.christopherson@intel.com, richardcochran@gmail.com, Mark.Rutland@arm.com, Will.Deacon@arm.com, suzuki.poulose@arm.com Cc: justin.he@arm.com, Steve.Capper@arm.com, linux-kernel@vger.kernel.org, Kaly.Xin@arm.com, nd@arm.com, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 3/6] Timer: expose monotonic clock and counter value Date: Tue, 17 Sep 2019 18:10:26 +0100 [thread overview] Message-ID: <ad38f692-a7c4-34e0-8236-ebd2d237bd93@kernel.org> (raw) In-Reply-To: <20190917112430.45680-4-jianyong.wu@arm.com> On 17/09/2019 12:24, Jianyong Wu wrote: > A number of PTP drivers (such as ptp-kvm) are assuming what the > current clock source is, which could lead to interesting effects on > systems where the clocksource can change depending on external events. > > For this purpose, add a new API that retrives both the current > monotonic clock as well as its counter value. > > Signed-off-by: Marc Zyngier <maz@kernel.org> > Signed-off-by: Jianyong Wu <jianyong.wu@arm.com> There must be something wrong with the way you've taken this patch in your tree. My authorship is gone (not that I deeply care about it, but it is good practice to keep attributions), and the subject line has been rewritten. I'd appreciate it if you could fix this in a future revision of this series. For reference, the original patch is here[1]. > --- > include/linux/timekeeping.h | 3 +++ > kernel/time/timekeeping.c | 13 +++++++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h > index a8ab0f143ac4..a5389adaa8bc 100644 > --- a/include/linux/timekeeping.h > +++ b/include/linux/timekeeping.h > @@ -247,6 +247,9 @@ extern int get_device_system_crosststamp( > struct system_time_snapshot *history, > struct system_device_crosststamp *xtstamp); > > +/* Obtain current monotonic clock and its counter value */ > +extern void get_current_counterval(struct system_counterval_t *sc); > + > /* > * Simultaneously snapshot realtime and monotonic raw clocks > */ > diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c > index 44b726bab4bd..07a0969625b1 100644 > --- a/kernel/time/timekeeping.c > +++ b/kernel/time/timekeeping.c > @@ -1098,6 +1098,19 @@ static bool cycle_between(u64 before, u64 test, u64 after) > return false; > } > > +/** > + * get_current_counterval - Snapshot the current clocksource and counter value > + * @sc: Pointer to a struct containing the current clocksource and its value > + */ > +void get_current_counterval(struct system_counterval_t *sc) > +{ > + struct timekeeper *tk = &tk_core.timekeeper; > + > + sc->cs = READ_ONCE(tk->tkr_mono.clock); > + sc->cycles = sc->cs->read(sc->cs); > +} > +EXPORT_SYMBOL_GPL(get_current_counterval); This export wasn't in my original patch. I guess you need it because your ptp driver builds as a module? It'd be good to mention it in the commit log. > + > /** > * get_device_system_crosststamp - Synchronously capture system/device timestamp > * @get_time_fn: Callback to get simultaneous device time and > Thanks, M. [1] https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?h=timer/counterval&id=a6e8abce025691b6a55e1c195878d7f76bfeb9d1 -- Jazz is not dead, it just smells funny... _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-09-17 17:10 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-17 11:24 [RFC PATCH v2 0/6] Enable ptp_kvm for arm64 Jianyong Wu 2019-09-17 11:24 ` Jianyong Wu 2019-09-17 11:24 ` [RFC PATCH v2 1/6] Export psci_ops.conduit symbol as modules will use it Jianyong Wu 2019-09-17 11:24 ` Jianyong Wu 2019-09-17 11:24 ` [RFC PATCH v2 2/6] reorganize ptp_kvm modules to make it arch-independent Jianyong Wu 2019-09-17 11:24 ` Jianyong Wu 2019-09-17 11:24 ` [PATCH 3/6] Timer: expose monotonic clock and counter value Jianyong Wu 2019-09-17 11:24 ` Jianyong Wu 2019-09-17 17:10 ` Marc Zyngier [this message] 2019-09-17 17:10 ` Marc Zyngier 2019-09-18 2:50 ` Jianyong Wu (Arm Technology China) 2019-09-18 2:50 ` Jianyong Wu (Arm Technology China) 2019-09-18 3:42 ` Richard Cochran 2019-09-18 3:42 ` Richard Cochran 2019-09-18 6:01 ` Jianyong Wu (Arm Technology China) 2019-09-18 6:01 ` Jianyong Wu (Arm Technology China) 2019-09-17 11:24 ` [RFC PATCH v2 4/6] arm64: Add hvc call service for ptp_kvm Jianyong Wu 2019-09-17 11:24 ` Jianyong Wu 2019-09-17 11:24 ` [RFC PATCH V2 5/6] Enable ptp_kvm for arm64 Jianyong Wu 2019-09-17 11:24 ` Jianyong Wu 2019-09-17 11:24 ` [PATCH 6/6] kvm: add kvm ptp capability extension " Jianyong Wu 2019-09-17 11:24 ` Jianyong Wu
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=ad38f692-a7c4-34e0-8236-ebd2d237bd93@kernel.org \ --to=maz@kernel.org \ --cc=Kaly.Xin@arm.com \ --cc=Mark.Rutland@arm.com \ --cc=Steve.Capper@arm.com \ --cc=Will.Deacon@arm.com \ --cc=jianyong.wu@arm.com \ --cc=justin.he@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=nd@arm.com \ --cc=netdev@vger.kernel.org \ --cc=pbonzini@redhat.com \ --cc=richardcochran@gmail.com \ --cc=sean.j.christopherson@intel.com \ --cc=suzuki.poulose@arm.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: linkBe 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.