From patchwork Tue Feb 4 15:40:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Igor Druzhinin X-Patchwork-Id: 11364897 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3E4E892A for ; Tue, 4 Feb 2020 15:41:40 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1B7DB20674 for ; Tue, 4 Feb 2020 15:41:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="BcRDV1eT" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1B7DB20674 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iz0Jj-0003Ar-8P; Tue, 04 Feb 2020 15:40:47 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iz0Ji-0003AV-Bz for xen-devel@lists.xenproject.org; Tue, 04 Feb 2020 15:40:46 +0000 X-Inumbo-ID: adbb0400-4764-11ea-8f8e-12813bfff9fa Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id adbb0400-4764-11ea-8f8e-12813bfff9fa; Tue, 04 Feb 2020 15:40:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1580830832; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=+PjeV3haqZ/Lx5p12bpCjHkhAMM1ejzapAAughXbDvc=; b=BcRDV1eTEC4ezF9sP5gBPw+tNn4slC4UVE8pc0EzsTm3hh/B49lJw47S pz6KODcM9AYE/n93F71NWnOM78nOUIqkoC4JokCf0Jmh/MfGfj7UIsWxt atJvtWtYFKYQJsiuwvYYmuUcdiBdOXcTJIlDYrpcxUeWZwTaWbk0tLXh2 k=; Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=igor.druzhinin@citrix.com; spf=Pass smtp.mailfrom=igor.druzhinin@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of igor.druzhinin@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of igor.druzhinin@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: WdBucxVRbHrIhgzPfCMcTcSA3LlC314hJCLQtHRj6Nz+8nQ4yLML6cMfBymiMif/n7Vs+RwhPj RmvORcfDOUAD/U5evPACNfSYFQ826irzelqf9VhrzmmPf82E5yFczw5xxOX3ib0bddjNWI7Jkc pLTeai8QaT9lVlAJX9ITZ7bLMQUgp/zAOuJkUzrBVkzXcYY69OzmlTSiLkeLw/TAXq8ZEYBA0s x0ko1RGbvdSA8o9a6wpTwnrNUjBxvujmmkZa2oH/+pk0X4QpTV4AfRL9eRgkIAdv1f9wk2GZzV uxo= X-SBRS: 2.7 X-MesageID: 12295795 X-Ironport-Server: esa5.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.70,402,1574139600"; d="scan'208";a="12295795" From: Igor Druzhinin To: Date: Tue, 4 Feb 2020 15:40:25 +0000 Message-ID: <1580830825-18767-3-git-send-email-igor.druzhinin@citrix.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1580830825-18767-1-git-send-email-igor.druzhinin@citrix.com> References: <1580830825-18767-1-git-send-email-igor.druzhinin@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 2/2] x86/time: report correct frequency of Xen PV clocksource X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: andrew.cooper3@citrix.com, Igor Druzhinin , wl@xen.org, jbeulich@suse.com, roger.pau@citrix.com Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" The value of the counter represents the number of nanoseconds since host boot. That means the correct frequency is always 1GHz. This inconsistency caused time to go slower in PV shim on most platforms. Signed-off-by: Igor Druzhinin Reviewed-by: Roger Pau Monné --- xen/arch/x86/time.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c index 7e7a62e..95840c4 100644 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -567,27 +567,12 @@ static struct platform_timesource __initdata plt_tsc = */ static uint64_t xen_timer_last; -static uint64_t xen_timer_cpu_frequency(void) -{ - struct vcpu_time_info *info = &this_cpu(vcpu_info)->time; - uint64_t freq; - - freq = 1000000000ULL << 32; - do_div(freq, info->tsc_to_system_mul); - if ( info->tsc_shift < 0 ) - freq <<= -info->tsc_shift; - else - freq >>= info->tsc_shift; - - return freq; -} - static int64_t __init init_xen_timer(struct platform_timesource *pts) { if ( !xen_guest ) return 0; - pts->frequency = xen_timer_cpu_frequency(); + pts->frequency = 1000000000ULL; return pts->frequency; }