Messages in this thread | | | Date | Fri, 20 Apr 2018 14:12:10 -0700 | From | Richard Cochran <> | Subject | Re: [PATCH RFC net-next] igb: adjust SYSTIM register using TIMADJ register |
| |
On Fri, Apr 20, 2018 at 02:56:36PM -0500, Kshitiz Gupta wrote: > Currently the driver adjusts time by reading the current time and then > modifying it before writing to SYSTIM register. This can introduce > inaccuracies in SYSTIM. With a PREEMPT_RT kernel, spinlocks may be > interrupted, which in the existing implementation may lead to increased > time between the read and the write. > > Alternatively as per section 7.8.3.2 in the i210 data sheet, this > operation can be done more accurately by using the TIMADJ registers, > but this should only be used for adjustments less than one 8th of the > sync interval. Once this register is written, the software can poll on > TSICR.TADJ to make sure that adjustment operation is completed.
I doubt the utility of this. The first jump is typically to correct a large offset of seconds, minutes, or even months. After that, the servo corrects any remaining error.
It would help if you would show us a clearly improved servo response with this change applied.
Thanks, Richard
| |