From: Marc Zyngier <maz@kernel.org>
To: Yao Yuan <yaoyuan@linux.alibaba.com>
Cc: Feng Tang <feng.tang@linux.alibaba.com>,
Thomas Gleixner <tglx@kernel.org>,
John Stultz <jstultz@google.com>, Stephen Boyd <sboyd@kernel.org>,
Miroslav Lichvar <mlichvar@redhat.com>,
Daniel Lezcano <daniel.lezcano@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Petr Mladek <pmladek@suse.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] sched_clock: Add option to use absolute time against hardware clock reset
Date: Thu, 03 Sep 2026 08:38:57 +0100 [thread overview]
Message-ID: <878q5i6ay6.wl-maz@kernel.org> (raw)
In-Reply-To: <ayvjcnerxbgffnpv6j2kxs2vxfu54gynu6oxv3j2u44he55o4p@pq42xsh4qkrg>
On Thu, 03 Sep 2026 07:51:03 +0100,
Yao Yuan <yaoyuan@linux.alibaba.com> wrote:
>
> On Wed, Sep 02, 2026 at 04:32:25PM +0800, Marc Zyngier wrote:
> > On Wed, 02 Sep 2026 09:21:23 +0100,
> > Feng Tang <feng.tang@linux.alibaba.com> wrote:
> > >
> > > Currently sched_clock shows the relative time to the boot starting of
> > > kernel, while there could be long firmware start time before it and
> > > after the hardware reset.
> > >
> > > On modern server platforms, there could be several software running in
> > > parallel. Like for arm64, it could have SCP (System Control Processor)
> > > firmware running on SCP processor, and ATF (Arm Trusted Firmware) and
> > > Linux OS on the main processor.
> > >
> > > Debugging some nasty issues on these platform may need to cross-check
> > > the logs from these firmwares and Linux kernel for specific events,
> > > where a unified reference timeline is critical. All these software can
> > > read the hardware timer, which is also the base of sched_clock for
> > > Linux kernel. Using the absolute counter since hardware timer reset
> > > makes it possible for all kinds of software to have a same time base.
> > >
> > > Add 'abs_sched_clock' parameter to provide an option for using absolute
> > > counter, and users should make sure their sched_clock (hardware timer)
> > > is capable of supporting absolute counter before enabling the option.
> > >
> > > Locally, it did help on chasing some RAS issues which needed cooperation
> > > between kernel, SCP firmware and ATF, by mapping the actions from each
> > > players into one timeline based on the timestamps in their logs.
> >
> > I really have to ask: why isn't this just a one-off sampling of the
> > counter, kept in some user accessible location (debugfs or something
> > else), and ultimately post-processed to align your logs? People have
> > been doing this... forever, and that has been "good enough" so far.
> >
>
> Hi Marc,
>
> > The other thing is that your "absolute" clock isn't absolute at
> > all. This doesn't consider SW running at EL2 that could happily offset
> > thing by an arbitrary value.
>
> Do you mean the VM case that VM's vcounter can be changed by hypervisor
> in EL2, Thus it's not that absolute in such scenario ?
That's indeed one of the possibilities. EL2 controls both virtual and
physical offsets, and therefore provides the kernel with a different
view of time.
This doesn't even have to be a VM. There is a lot of non-hypervisor SW
out there that just hogs EL2 for more or less nefarious purposes (such
as "protecting" the kernel), and offsetting the counter values is one
of thing they could do to hide what they are doing.
The other thing is that this change seems to break the sched_clock()
handover, since the new clock doesn't start where the old one ends.
This doesn't affect arm64, which can only have one true source of
time, but other archs would probably suffer from this.
M.
--
Jazz isn't dead. It just smells funny.
next prev parent reply other threads:[~2026-09-03 7:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-02 8:21 Feng Tang
2026-09-02 15:32 ` Marc Zyngier
2026-09-03 6:51 ` Yao Yuan
2026-09-03 7:38 ` Marc Zyngier [this message]
2026-09-03 8:07 ` Feng Tang
2026-09-03 10:20 ` Yao Yuan
2026-09-03 7:45 ` Feng Tang
2026-09-05 20:39 ` 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=878q5i6ay6.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=daniel.lezcano@kernel.org \
--cc=feng.tang@linux.alibaba.com \
--cc=jstultz@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mlichvar@redhat.com \
--cc=peterz@infradead.org \
--cc=pmladek@suse.com \
--cc=sboyd@kernel.org \
--cc=tglx@kernel.org \
--cc=yaoyuan@linux.alibaba.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
all inboxes | Powered by JetHome®