Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp1847917ybn; Thu, 26 Sep 2019 03:09:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqwv7PbXm9HQBrMn1IbhzXir+l+gmIepN/CVMH3q5+ZAP31pPwyBaiFWWCwu3sVH6Mq/A7rF X-Received: by 2002:a50:d758:: with SMTP id i24mr2594874edj.246.1569492574365; Thu, 26 Sep 2019 03:09:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569492574; cv=none; d=google.com; s=arc-20160816; b=r5aE1PoKpmlyT43Ri1pUj5qtNXbN0ZWemXPcyLkGa2Y1SsEayuZ1a10LqL2PifQ0Qc L1LFBWMtoGbKrX2p8ul9QvN7R1EctAMIuX8tHvWF2golrDDRa9P4vq0INagshNihkBgo 3mN+b4ko+p2WkAHwTAFVUeQKpNZZNlqJqP7BwNXlvBxyGK/Xlm8NWUxzeEPbFiiOubUe nCPzPfOqfEcEHVjch/RGMP1jpw5g4gX6iXrFX2C3DCL0tZkwfscElIE7lROdz1KPg7Ct CzlqEokBqdVWZotn5UMZnadlZafHMZolJWCLkv+cr+XoPKtTEGog+7KjHx9pnig8tQDt 293Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=loUUyZjlMW8gDrBWiQqFmXL3CqegPpaCHCadrXyJRos=; b=rGalO30WDbU2tvJNtH2EmawKG1a6uN7SrxsQoi7HaAxhLISvGHjMFWeCK609iX9ieU 8es40BkRL0KbSWOPyCnWfrX3BwDxVcRimGDKO9pIaJRlG2xChytvFyJPDWCXrzzyZLEi uhWZXfq6kXUUhHDk8fgvzmGM8vHVhLTq+Z44S9XYcCXFN/q+Dsy1zAk37wrraIm8J84C w5ug7gYKm4aYcQXVk04LmB7AKEkpiuUYnn1jyicuMWYKtkt/uM//PIEDQOJN3F+BY7yk XWJyisOUNloUX/e/0ic3gn3EitpKd4lnVx/4GUQ9b8sjZyKlhYJ92KG8ieaFHwEZ3YD8 xdQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ld+FtlfZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l9si735489ejq.164.2019.09.26.03.09.10; Thu, 26 Sep 2019 03:09:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ld+FtlfZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387970AbfIZATn (ORCPT + 99 others); Wed, 25 Sep 2019 20:19:43 -0400 Received: from mail-oi1-f195.google.com ([209.85.167.195]:38179 "EHLO mail-oi1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387885AbfIZATn (ORCPT ); Wed, 25 Sep 2019 20:19:43 -0400 Received: by mail-oi1-f195.google.com with SMTP id m16so552263oic.5; Wed, 25 Sep 2019 17:19:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=loUUyZjlMW8gDrBWiQqFmXL3CqegPpaCHCadrXyJRos=; b=ld+FtlfZ1b1r9UIfejJyQwo6Db0jg6Qubr/PsAGM1hRGkFS+oB1lfO51khCEOLkISF 1OWVa/Z1as53CLoUB2PmObKIf2U/MRBhabPjXcSk/gJrQCiWdMHUHCvJLeHspEBahmk3 3Kp4mgKZPPoo77JjEj9uqolIv0l867XkaYxaGGhxKaeU0Mm+GOU2/alD3MwXbxVB4FHf S2Bowr3HGXHMlsEqrqgDd6EjyjqV3h5NE8/Y5f6/MX4/0OnlUUUCCrlYcyNHTIEh/+/j QWEX0sVORLhWzyP+pMseyl9RabBaQJb89Ua6GNRnrSWHgRsAI+QxHUIZtJizVF9V5T2e UpUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=loUUyZjlMW8gDrBWiQqFmXL3CqegPpaCHCadrXyJRos=; b=q4sZg7+ohGeuzef94RRalQD153TQepxsmogX9FjzOt/atsKscQ5XfnA9ju4o38nJdj DMlyIPuthlariHHQ+8v3RxEvS6nObfDsak4Y4+AnD1m099092ZF8Q08EFpdNc5vIhQG4 q3ntYdvkIZKdeNkOOyIOUqvl1Eh8hBRUbLrSbrDsiBOpCg8UGOtq3qJXsm5XMOCs/YGS DPeBzQTSgl7SLEZ8lMvoUkeQ31XllOqb6WjS9BouVPCl/OvQotAm6qgfFnoy77rU+7wj MR85ndwPYmLP0JUTpRttqNr+jkaLx5KfbnQzh24aSRzMMV9OGvAfLDVXDxAkuMI8kEU+ RzjQ== X-Gm-Message-State: APjAAAWOO8h8N/9qdlTL51axS5Aple6/LM2/OCXhr7ZV56oNmT51m157 JzTRwnHKdrjBxtJGntsueqqL0NLcy4rGcryDhek= X-Received: by 2002:aca:fd8a:: with SMTP id b132mr577209oii.33.1569457181247; Wed, 25 Sep 2019 17:19:41 -0700 (PDT) MIME-Version: 1.0 References: <1569390424-22031-1-git-send-email-wanpengli@tencent.com> <20190925192949.GM31852@linux.intel.com> In-Reply-To: <20190925192949.GM31852@linux.intel.com> From: Wanpeng Li Date: Thu, 26 Sep 2019 08:19:28 +0800 Message-ID: Subject: Re: [PATCH] KVM: LAPIC: Loose fluctuation filter for auto tune lapic_timer_advance_ns To: Sean Christopherson Cc: LKML , kvm , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 26 Sep 2019 at 03:29, Sean Christopherson wrote: > > On Wed, Sep 25, 2019 at 01:47:04PM +0800, Wanpeng Li wrote: > > From: Wanpeng Li > > > > 5000 guest cycles delta is easy to encounter on desktop, per-vCPU > > lapic_timer_advance_ns always keeps at 1000ns initial value, lets > > loose fluctuation filter a bit to make auto tune can make some > > progress. > > > > Signed-off-by: Wanpeng Li > > --- > > arch/x86/kvm/lapic.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c > > index 3a3a685..258407e 100644 > > --- a/arch/x86/kvm/lapic.c > > +++ b/arch/x86/kvm/lapic.c > > @@ -67,7 +67,7 @@ > > > > static bool lapic_timer_advance_dynamic __read_mostly; > > #define LAPIC_TIMER_ADVANCE_ADJUST_MIN 100 > > -#define LAPIC_TIMER_ADVANCE_ADJUST_MAX 5000 > > +#define LAPIC_TIMER_ADVANCE_ADJUST_MAX 10000 > > #define LAPIC_TIMER_ADVANCE_ADJUST_INIT 1000 > > /* step-by-step approximation to mitigate fluctuation */ > > #define LAPIC_TIMER_ADVANCE_ADJUST_STEP 8 > > @@ -1504,7 +1504,7 @@ static inline void adjust_lapic_timer_advance(struct kvm_vcpu *vcpu, > > timer_advance_ns += ns/LAPIC_TIMER_ADVANCE_ADJUST_STEP; > > } > > > > - if (unlikely(timer_advance_ns > LAPIC_TIMER_ADVANCE_ADJUST_MAX)) > > + if (unlikely(timer_advance_ns > LAPIC_TIMER_ADVANCE_ADJUST_MAX/2)) > > Doh, missed that these are two different time domains in the original > review, i.e. ns vs. cycles. I try to save one #define in this patch, will fold below in next version. Wanpeng > > We should use separate defines for the filter since that check is done > in cycles. Not sure what names to use to keep things somewhat clear. > > Maybe s/ADJUST/EXPIRE for the cycles, and s/ADJUST/NS for the ns ones? > E.g.: > > #define LAPIC_TIMER_ADVANCE_EXPIRE_MIN 100 > #define LAPIC_TIMER_ADVANCE_EXPIRE_MAX 10000 > #define LAPIC_TIMER_ADVANCE_NS_MAX 5000 > #define LAPIC_TIMER_ADVANCE_NS_INIT 1000 > > > timer_advance_ns = LAPIC_TIMER_ADVANCE_ADJUST_INIT; > > apic->lapic_timer.timer_advance_ns = timer_advance_ns; > > } > > -- > > 2.7.4 > >