Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp721286lqt; Fri, 19 Apr 2024 08:30:54 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWR2GAF8l8kPTiU8DO6iXGpND1FhmN9X8a52hXBNVsgA2ZWsZhZBVz/EWTjrpnZ2Fd5N9xrn+Ti7pgWr1VKcLpS7t0TTUUdvUH6+UrFVg== X-Google-Smtp-Source: AGHT+IEcw59WdqCUl4r6ByKTWjpZzaUudDdiJbwJaCoOb2Sx87+C4W7YLEj0B3jDnwF/m3D21Cb3 X-Received: by 2002:a17:906:fb92:b0:a52:430a:19bd with SMTP id lr18-20020a170906fb9200b00a52430a19bdmr1660762ejb.73.1713540654176; Fri, 19 Apr 2024 08:30:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713540654; cv=pass; d=google.com; s=arc-20160816; b=MhEpIazOzdx05lIyEA1+WZdd2uyVVnQOxKdnHyhQWdZZVzMT/LWslcyuYc7VXo/dM+ +tg7AvEPmYTtjhVL642whF0hOOxWUh5CS8hTHp5NgT641/EUX9qr+3nJg9AM4X9LTeeG lf/R4QqezB9KzEz2EIcEEAUuiWJbspzCG1DIQqpFLJc+00fMGz2yzsAlmwOY+1UcMdaS dRaRUI6rMSX5JzlBVHf3NW+CZYLFi5KNeNRjrJyjukh49DZr9B/6Z4IpxC79EhulDAVB 8Ye83UogOeDrNWqtAXyLiqpAHmAqiWSvZgR/qePve82fHnDZhzrpYgB9ZztRh+/+Bcmg D5jg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:organization:content-language :references:cc:to:subject:reply-to:user-agent:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:date:message-id :from:dkim-signature; bh=vA4Wyq7G4LwKrA+RVKqAzEJ7JuH0WyGpbgryKUE75M4=; fh=IdRtIGiUwmSrdAHGfkNf0KxApqdqCipWkuXbN5R+3IA=; b=NqT2S2JhUQvY8VzZ+P7+SjdAdwDb6+e6vXHTwww621wshKMOoPU4gWXkE2WabgvgjO KO2EAhKM7/nlzmgRbffUt8zEN6f0XLZcNupCZWwiGwLHxmuwR3GV+MhD4VWMXrcZpHjN vCWZElr7tituXG/ePY4IizcR1cDIGffHqp0jFYvknhrDOnFvwJMhkpTIARILsKdDeLWj 8rF2wFE0ESXyke72O+7QLSVx2XQ+uAsW+kuTRmOxBuCAhIA/ZkMQ8lUvuyGBj+M77RDd hgx/enM8VtO0hDki5T7SyqnUxtccdC8gbrh63QoZ2o0kzDHQiWrtor6zVYkbgoJHljZT 88Ig==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=E3ZADtVJ; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-151671-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-151671-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id g5-20020a1709063b0500b00a5592f2b42csi31005ejf.494.2024.04.19.08.30.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Apr 2024 08:30:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-151671-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=E3ZADtVJ; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-151671-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-151671-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id E2FA21F22F75 for ; Fri, 19 Apr 2024 15:30:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8089E13049F; Fri, 19 Apr 2024 15:29:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="E3ZADtVJ" Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 12AD513049E; Fri, 19 Apr 2024 15:29:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713540597; cv=none; b=uyHx9EBHxCFm1LJIE8Sx/sO1nSwELt373qBTP8oAmCTGdlKtn/gSN0KzS1wGofr/7YxTHH0qAMl2dsDKc1duL3kAkZYd1aJWnt/8+smLqB1qJhzNEmf2mCkt95F+lYnoQSXFQRsqG51/LZbBp1rCXHckA22+TMpIl4ighcux1W8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713540597; c=relaxed/simple; bh=zT9iJ5PbjhLLEYo+jfeZgwNnELE4T6yi5z/mQLNwves=; h=From:Message-ID:Date:MIME-Version:Subject:To:Cc:References: In-Reply-To:Content-Type; b=MZZFy1dgqfrDObbXb1TYn53RueBRD9zo+2RRcpca0p8vcqI71Ha3IiRpY3g90ql9CypAKHEoN2heMzPK9MGvzlFGpivY/cRQnPDD3TIuHGnVQN1A0qiCHFuTDOg9N45ZHmB+7RWdz21JWgc+6ugqXGK/b2m8wpFYDXjs15iRK1s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=E3ZADtVJ; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-419d320b8a5so847545e9.3; Fri, 19 Apr 2024 08:29:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713540594; x=1714145394; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:organization:content-language :references:cc:to:subject:reply-to:user-agent:mime-version:date :message-id:from:from:to:cc:subject:date:message-id:reply-to; bh=vA4Wyq7G4LwKrA+RVKqAzEJ7JuH0WyGpbgryKUE75M4=; b=E3ZADtVJSkQgTE9zq2y4iK4MJ0XdMqXjOZxY9OCKl0a/E51Fx8Q7du181vX2DXeK/q v3yWXFS702DZaOcPlwVZwWy0JoN5+Itet9xHheGLP3YwoyPTARLlnbeAAvz8CJ1XbKB0 q1HZPMjGxiRzUXlVPifAXTvk5IOn4e96HmK79J9yhwCfuAUpf0t/jrhujqzf/Qr1/KXM e/F3QJ0YtIDAkLsgmNjwZtJ48AKdjbDe9DXUaEzrOujZ/sp84X2DTMB4hFDHeP1dA5/k 3zQDa+TJ0CoW7rEm5FT34BaX5d65NvD8JHof60dmbbebSrtIOsqU0KV8VaZPJgFbuFkA +ukA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713540594; x=1714145394; h=content-transfer-encoding:in-reply-to:organization:content-language :references:cc:to:subject:reply-to:user-agent:mime-version:date :message-id:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vA4Wyq7G4LwKrA+RVKqAzEJ7JuH0WyGpbgryKUE75M4=; b=TkG1/m2sJFptos/6IH40HIiy2Vb+F80wteVCNHtkBKJ13V5qMo+VuGX7gAGm4ACDmp cbCZy9jEQAIkhEiZHk2UC1kjbYCjwCYw4GVD6zVw5EIW23d8fZ3+rFNyh/PFF6ewaT7Z TT4OGkzgZAcinXyaIq48YKf8X7bs7p25hVpk3de+xAzFEygadpOKuPcOJVmS0zjKH8KR YZAblUtYBTnB1K4QT6qbYdCcxn7BwbG/IEg98a79OLi/RvKsn71H+JowWY4vqiBjzdTD ot9/kmC5BOeJ5hOeyx8mDZ7rEyMQnKrObQr2z1IpDuloNHVpxI9MvPz6wPSJqZn2aZKE QH4Q== X-Forwarded-Encrypted: i=1; AJvYcCWicUMcKUyaAWa0SlRD/QzT41V19jBxnE9vUkIQZg4tdwLdcZsDnZlWIDbYVZfTe2wSSWotor9IdBnNeSO0C4ftzZnxT3uwW6q/XlFczeS3rpB+pqXDJ4u1elxSh+4lsKIrlCuiTBH8O9RxP1dF2ykITMFqzETGXKXfjfpEVBg7ROFP+kgE7cuYyC4EjKvwIi+BIAPoLDNr1PrWom1C X-Gm-Message-State: AOJu0Yw/5/tVFfxvuybRMTD2iOGienpLC3poHngkJ0lUd0+Mr4eWx8L6 P3MSRkI36wxmSvEaJ1Y1R5JSYswkJ3+LBx1RO6l91U8wIsopXmGX X-Received: by 2002:a05:600c:1547:b0:418:e08c:817 with SMTP id f7-20020a05600c154700b00418e08c0817mr1695973wmg.32.1713540594088; Fri, 19 Apr 2024 08:29:54 -0700 (PDT) Received: from [192.168.18.253] (54-240-197-236.amazon.com. [54.240.197.236]) by smtp.gmail.com with ESMTPSA id s6-20020a05600c45c600b00418244d459esm6936153wmo.4.2024.04.19.08.29.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Apr 2024 08:29:53 -0700 (PDT) From: Paul Durrant X-Google-Original-From: Paul Durrant Message-ID: Date: Fri, 19 Apr 2024 16:29:51 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Reply-To: paul@xen.org Subject: Re: [PATCH 02/10] KVM: x86: Improve accuracy of KVM clock when TSC scaling is in force To: David Woodhouse , kvm@vger.kernel.org Cc: Paolo Bonzini , Jonathan Corbet , Sean Christopherson , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Shuah Khan , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Oliver Upton , Marcelo Tosatti , jalliste@amazon.co.uk, sveith@amazon.de References: <20240418193528.41780-1-dwmw2@infradead.org> <20240418193528.41780-3-dwmw2@infradead.org> Content-Language: en-US Organization: Xen Project In-Reply-To: <20240418193528.41780-3-dwmw2@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 18/04/2024 20:34, David Woodhouse wrote: > From: David Woodhouse > > The kvm_guest_time_update() function scales the host TSC frequency to > the guest's using kvm_scale_tsc() and the v->arch.l1_tsc_scaling_ratio > scaling ratio previously calculated for that vCPU. Then calcuates the > scaling factors for the KVM clock itself based on that guest TSC > frequency. > > However, it uses kHz as the unit when scaling, and then multiplies by > 1000 only at the end. > > With a host TSC frequency of 3000MHz and a guest set to 2500MHz, the > result of kvm_scale_tsc() will actually come out at 2,499,999kHz. So > the KVM clock advertised to the guest is based on a frequency of > 2,499,999,000 Hz. > > By using Hz as the unit from the beginning, the KVM clock would be based > on a more accurate frequency of 2,499,999,999 Hz in this example. > > Signed-off-by: David Woodhouse > Fixes: 78db6a503796 ("KVM: x86: rewrite handling of scaled TSC for kvmclock") > --- > arch/x86/include/asm/kvm_host.h | 2 +- > arch/x86/kvm/x86.c | 17 +++++++++-------- > arch/x86/kvm/xen.c | 2 +- > 3 files changed, 11 insertions(+), 10 deletions(-) > Reviewed-by: Paul Durrant