[systemd-devel] [PATCH 5/8] timesyncd: use longer PLL time constant

Miroslav Lichvar mlichvar at redhat.com
Tue Sep 2 04:10:56 PDT 2014


On Fri, Aug 29, 2014 at 06:29:54PM +0200, Kay Sievers wrote:
> On Wed, Aug 27, 2014 at 4:47 PM, Miroslav Lichvar <mlichvar at redhat.com> wrote:
> > The shortest time constant that is stable with the kernel PLL (compiled
> > with SHIFT_PLL=2) is about log2 of update interval - 3. Set the constant
> > to poll - 2 to make room for one missed update.
> 
> Experimentation did show, that the adjustment of the kernel was too
> gentle to reach the target time in the desired window, so we made it
> more stiff.

That's the problem with PLL, it adapts to frequency changes very
slowly.

> All timesyncd really cares is that we are not jumping, we
> do not really need to smooth out the adjustments.

It would probably help if the frequency was estimated over a fixed
interval on start before enabling the PLL mode (similarly to ntpd), or
at least the frequency was restored from a drift file, so it doesn't
always have to start from zero.

> We would re-check what happens with your patch, I'll hold back
> applying this for now.

It should take about four times longer to converge to zero offset.

-- 
Miroslav Lichvar


More information about the systemd-devel mailing list