On Wed, 11 Apr 2018, Jesus Sanchez-Palencia wrote: > On 04/11/2018 01:16 PM, Thomas Gleixner wrote: > >> So there is a "clockid" that can be used for the full hw offload modes. On > >> this > >> case, the txtimes are in reference to the NIC's PTP clock, and, as > >> discussed, we > >> can't just use a clockid that was computed from the fd pointing to > >> /dev/ptpX . > > > > And the NICs PTP clock is CLOCK_TAI, so there should be no reason to have > > yet another clock, right? > > Just breaking this down a bit, yes, TAI is the network time base, and the NICs > PTP clock use that because PTP is (commonly) based on TAI. After the PHCs have > been synchronized over the network (e.g. with ptp4l), my understanding is that > if applications want to use the clockid_t CLOCK_TAI as a network clock > reference > it's required that something (i.e. phc2sys) is synchronizing the PHCs and the > system clock, and also that something calls adjtime to apply the TAI vs UTC > offset to CLOCK_TAI. > > If we are fine with those 'dependencies', then I agree there is no need for > another clock. > > I was thinking about the full offload use-cases, thus when no scheduling is > happening inside the qdiscs. Applications could just read the time from the > PHC > clocks directly without having to rely on any of the above. On this case, > userspace would use DYNAMIC_CLOCK just to flag that this is the case, but I > must > admit it's not clear to me how common of a use-case that is, or even if it > makes > sense.
I don't think it makes a lot of sense because the only use case for that is a full user space scheduler which routes _ALL_ traffic. I don't think that's something which we want to proliferate. So I'd rather start off with the CLOCK_TAI assumption and if the need really arises we can discuss that separately. So you can take a clockid into account when designing the ABI, but have it CLOCK_TAI only for the start. Thanks, tglx