From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [patch 4/5] PTP: add PTP_SYS_OFFSET emulation via cross timestamps infrastructure Date: Fri, 20 Jan 2017 14:36:40 +0100 Message-ID: <2d213ad9-fa40-1f1e-90a9-404764969d35@redhat.com> References: <20170120122025.665985919@redhat.com> <20170120122503.746158230@redhat.com> <48bb2650-ed00-ec07-31bf-8780d3ab5568@redhat.com> <20170120130711.GA27440@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Radim Krcmar , Richard Cochran , Miroslav Lichvar To: Marcelo Tosatti Return-path: In-Reply-To: <20170120130711.GA27440@amt.cnet> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 20/01/2017 14:07, Marcelo Tosatti wrote: > On Fri, Jan 20, 2017 at 01:55:27PM +0100, Paolo Bonzini wrote: >> >> >> On 20/01/2017 13:20, Marcelo Tosatti wrote: >>> kernel/time/timekeeping.c | 79 +++++++++++++++++++++++++++++++++++++++ >> >> Why not leave this in drivers/ptp/ptp_chardev.c? > > timekeeper_lock Why does emulate_ptp_sys_offset need it, if the current PTP_SYS_OFFSET code doesn't? Is the latency acceptable (considering this is a raw spin lock) or is there a seqlock that we can use instead (such as tk_core.seq like in get_device_system_crosststamp)? >>> + if (ptp->info->emulate_ptp_sys_offset_mean) { >>> + err = emulate_ptp_sys_offset(ptp->info, sysoff, arg); >>> + break; >>> + } >> >> I think this should be simply "if (!ptp->info->gettime64)" and, >> likewise, there should be an emulation based getcrosststamp in >> ptp_clock_gettime. >> >> Paolo > > gettime64 is called directly via ptp_clock_gettime. Yes, but ptp_clock_gettime can be taught to use getcrosststamp instead. Paolo