time: Add mechanism to recognize clocksource in time_get_snapshot
authorThomas Gleixner <tglx@linutronix.de>
Wed, 9 Dec 2020 06:09:27 +0000 (14:09 +0800)
committerMarc Zyngier <maz@kernel.org>
Wed, 7 Apr 2021 15:33:20 +0000 (16:33 +0100)
commitb2c67cbe9f447312f5cdd7c6641b463f2349aec0
tree3df86da966a25b85da7c84cb893edb2705ccd720
parenta8cf291bdac5d415eadb55e79df1fca8c3f0dfef
time: Add mechanism to recognize clocksource in time_get_snapshot

System time snapshots are not conveying information about the current
clocksource which was used, but callers like the PTP KVM guest
implementation have the requirement to evaluate the clocksource type to
select the appropriate mechanism.

Introduce a clocksource id field in struct clocksource which is by default
set to CSID_GENERIC (0). Clocksource implementations can set that field to
a value which allows to identify the clocksource.

Store the clocksource id of the current clocksource in the
system_time_snapshot so callers can evaluate which clocksource was used to
take the snapshot and act accordingly.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20201209060932.212364-5-jianyong.wu@arm.com
include/linux/clocksource.h
include/linux/clocksource_ids.h [new file with mode: 0644]
include/linux/timekeeping.h
kernel/time/clocksource.c
kernel/time/timekeeping.c