[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180420211210.43oyqmqoho6gdnfh@localhost>
Date: Fri, 20 Apr 2018 14:12:10 -0700
From: Richard Cochran <richardcochran@...il.com>
To: Kshitiz Gupta <kshitiz.gupta@...com>
Cc: jeffrey.t.kirsher@...el.com, intel-wired-lan@...ts.osuosl.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
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
Powered by blists - more mailing lists