Re: Getting time in realtime kernel driver
Jan Kiszka <[email protected]>
| Newsgroups | dev.linux.lists.xenomai |
|---|---|
| Message-ID | <[email protected]> |
On 12.05.26 18:20, François Legal wrote: > Hello, > > I think I already asked about the same question some time ago, but I think I did not get a working answer, so here I am again. > > On xenomai 3.2 + Ipipe (linux 5.4), I need to be able to get in a RT driver the current linux wall clock (impacted from NTP or PTP). > I found out I get the correct value with ktime_get_real_ts64. Was willing to use __ktime_get_real_seconds but this one is not precise enought for my application. > > So my question is : is it safe to use ktime_get_real_ts64 from within an RT driver ioctl function, and if not, which API in xenomai gives the exact same time as this one ? > Nope, it's not safe, neither under legacy I-pipe (your kernel is dead BTW) nor latest dovetail. Userspace access to the wallclock was hardened for out-of-band accesses, but in-kernel had no use case, thus was never considered. For userland, the easiest answer is moving to a dovetail kernel and then using CLOCK_REALTIME. Over I-pipe, we had to model this via a separate clock named CLOCK_HOST_REALTIME. Jan -- Siemens AG, Foundational Technologies Linux Expert Center