From patchwork Thu Sep 5 02:36:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 11132023 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 4AB5E1395 for ; Thu, 5 Sep 2019 02:36:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 344EC20882 for ; Thu, 5 Sep 2019 02:36:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730412AbfIECgd (ORCPT ); Wed, 4 Sep 2019 22:36:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42248 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730273AbfIECgd (ORCPT ); Wed, 4 Sep 2019 22:36:33 -0400 Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F0792C04BD48 for ; Thu, 5 Sep 2019 02:36:32 +0000 (UTC) Received: by mail-pf1-f198.google.com with SMTP id b8so710894pfd.5 for ; Wed, 04 Sep 2019 19:36:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D5GbwgUbqjtNcqY0SPgp2YB/jV4XMs+EgfcVdllqHe8=; b=GbUkndWVUU6GR0ZCgJwqpVKpzuU6LCleyvre1RRMkw3upaal4PPEEeezl4wDSh+nVL aA8iD+r+p3/5LpGz0XqBRX2Qa/PrU9Ce9b1ZXza6wgidUYSZ9zACKoUr46ws2gZ9Pctt 1PZnhg8htzzFr4YxLqKq9kCalXs05szB1ad0w1yAU+mNc9P2gK6iiYTz/SO0eZL65qSh 4s4DjYv8Y7hCd9Jhzicpz3osJdhT/db0WvhP4ReQNkyoGCGTfPOKIp+MiRXyyh3UlOhl jGvBxp2OF4r+aAC6k3mxUAVfFokAE74qxEApAQFO7s3t0X+WMbgcRmpd7/C7qmwFadXN zBKw== X-Gm-Message-State: APjAAAUlacAnU+ebp7y3dp5n+NP1LE9q14ZTTVVLbLHmz+XKA51GsmSW nq3NZo2kKRHbdVLaYRUw9CLTi+zpEg/2UdUAN4336ojX0Ibyd88PivEvuoewizrKK325gm/9Tbz 2Ouq5yNHaGvRM X-Received: by 2002:a17:902:67:: with SMTP id 94mr941159pla.121.1567650992224; Wed, 04 Sep 2019 19:36:32 -0700 (PDT) X-Google-Smtp-Source: APXvYqwiGVQPTwGuGQy7rBcAzOtUEK+ZrVZNNsNgPYaIYLZwLdkLNgka3U9b7pbZcwFOLz6B/6HG2A== X-Received: by 2002:a17:902:67:: with SMTP id 94mr941144pla.121.1567650992091; Wed, 04 Sep 2019 19:36:32 -0700 (PDT) Received: from xz-x1.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id v10sm326504pjk.23.2019.09.04.19.36.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Sep 2019 19:36:31 -0700 (PDT) From: Peter Xu To: kvm@vger.kernel.org Cc: Sean Christopherson , Paolo Bonzini , Wanpeng Li , Krish Sadhukhan , peterx@redhat.com Subject: [PATCH v3 1/4] KVM: X86: Trace vcpu_id for vmexit Date: Thu, 5 Sep 2019 10:36:13 +0800 Message-Id: <20190905023616.29082-2-peterx@redhat.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190905023616.29082-1-peterx@redhat.com> References: <20190905023616.29082-1-peterx@redhat.com> MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Tracing the ID helps to pair vmenters and vmexits for guests with multiple vCPUs. Reviewed-by: Krish Sadhukhan Signed-off-by: Peter Xu Reviewed-by: Sean Christopherson --- arch/x86/kvm/trace.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index b5c831e79094..20d6cac9f157 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h @@ -232,17 +232,20 @@ TRACE_EVENT(kvm_exit, __field( u32, isa ) __field( u64, info1 ) __field( u64, info2 ) + __field( unsigned int, vcpu_id ) ), TP_fast_assign( __entry->exit_reason = exit_reason; __entry->guest_rip = kvm_rip_read(vcpu); __entry->isa = isa; + __entry->vcpu_id = vcpu->vcpu_id; kvm_x86_ops->get_exit_info(vcpu, &__entry->info1, &__entry->info2); ), - TP_printk("reason %s rip 0x%lx info %llx %llx", + TP_printk("vcpu %u reason %s rip 0x%lx info %llx %llx", + __entry->vcpu_id, (__entry->isa == KVM_ISA_VMX) ? __print_symbolic(__entry->exit_reason, VMX_EXIT_REASONS) : __print_symbolic(__entry->exit_reason, SVM_EXIT_REASONS), From patchwork Thu Sep 5 02:36:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 11132025 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 D1D6C1395 for ; Thu, 5 Sep 2019 02:36:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BC0E120882 for ; Thu, 5 Sep 2019 02:36:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730273AbfIECgh (ORCPT ); Wed, 4 Sep 2019 22:36:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42260 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729919AbfIECgg (ORCPT ); Wed, 4 Sep 2019 22:36:36 -0400 Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 987ABC04FFE0 for ; Thu, 5 Sep 2019 02:36:36 +0000 (UTC) Received: by mail-pf1-f200.google.com with SMTP id i187so699264pfc.10 for ; Wed, 04 Sep 2019 19:36:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=U9X2ocg4xLLzJVV8u6FR7s0StrvzfFTOD0TsbOAZvYI=; b=b3ih0DlSR4uC73lClDG18P9e91kpFJcF6InljPuCLkTiMcd9WYjyrs//Nh7W3bdOZ/ onQnSPfD2Kn2gl+bhtaPoh+3TjrveOxbylwhRawgti5eqPPFm/Ov53z2utuM1jfV4465 5YxcCWo27VVl+3Z7FrpxshapvzsKLEiKuUBw5PGLen8izJBfQ2c+d36uZ56GcKkg5RaZ kMgCHB7MdiHOHZco8spn9SoNLW2pI5ZzDdLnLFO33HQ8QTJTVIn9KjQXVZ810baSDDWX FBpdrU6aGQ/1DXZ4Ut/2OijQaJew9Ulea1vgs0Hqaia+whJsI6JjQpjYrDru2fJ4m+CI gbVQ== X-Gm-Message-State: APjAAAVwE1nmA9PX4XJv1mJPbKfiglD+lC0ujJvSy9DZZ8tGQawi5HZE ZsepoYQhUQoIaAXjcneESQ1rtriTl5GgdDUwih5xLQyh0shoKld5Hc1TUfi+QpusWyH+Ex6T9vz ocHEI3yVxHAkJ X-Received: by 2002:a17:902:b20c:: with SMTP id t12mr909117plr.205.1567650995816; Wed, 04 Sep 2019 19:36:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqzMZVOsHXzxyLu6EGf3TYqiKj1CiNnjdkbFrGuz4gGin2zvKWpp7sfwErxeXzrROqPOoSY44Q== X-Received: by 2002:a17:902:b20c:: with SMTP id t12mr909110plr.205.1567650995683; Wed, 04 Sep 2019 19:36:35 -0700 (PDT) Received: from xz-x1.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id v10sm326504pjk.23.2019.09.04.19.36.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Sep 2019 19:36:35 -0700 (PDT) From: Peter Xu To: kvm@vger.kernel.org Cc: Sean Christopherson , Paolo Bonzini , Wanpeng Li , Krish Sadhukhan , peterx@redhat.com Subject: [PATCH v3 2/4] KVM: X86: Remove tailing newline for tracepoints Date: Thu, 5 Sep 2019 10:36:14 +0800 Message-Id: <20190905023616.29082-3-peterx@redhat.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190905023616.29082-1-peterx@redhat.com> References: <20190905023616.29082-1-peterx@redhat.com> MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org It's done by TP_printk() already. Reviewed-by: Krish Sadhukhan Reviewed-by: Sean Christopherson Signed-off-by: Peter Xu --- arch/x86/kvm/trace.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index 20d6cac9f157..8a7570f8c943 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h @@ -1323,7 +1323,7 @@ TRACE_EVENT(kvm_avic_incomplete_ipi, __entry->index = index; ), - TP_printk("vcpu=%u, icrh:icrl=%#010x:%08x, id=%u, index=%u\n", + TP_printk("vcpu=%u, icrh:icrl=%#010x:%08x, id=%u, index=%u", __entry->vcpu, __entry->icrh, __entry->icrl, __entry->id, __entry->index) ); @@ -1348,7 +1348,7 @@ TRACE_EVENT(kvm_avic_unaccelerated_access, __entry->vec = vec; ), - TP_printk("vcpu=%u, offset=%#x(%s), %s, %s, vec=%#x\n", + TP_printk("vcpu=%u, offset=%#x(%s), %s, %s, vec=%#x", __entry->vcpu, __entry->offset, __print_symbolic(__entry->offset, kvm_trace_symbol_apic), From patchwork Thu Sep 5 02:36:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 11132027 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 A141D1395 for ; Thu, 5 Sep 2019 02:36:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 82A702168B for ; Thu, 5 Sep 2019 02:36:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730579AbfIECgl (ORCPT ); Wed, 4 Sep 2019 22:36:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37166 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730451AbfIECgl (ORCPT ); Wed, 4 Sep 2019 22:36:41 -0400 Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C9D85C059B7A for ; Thu, 5 Sep 2019 02:36:40 +0000 (UTC) Received: by mail-pf1-f198.google.com with SMTP id n186so706027pfn.6 for ; Wed, 04 Sep 2019 19:36:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6stKbdekXMjRG/f5W66QTsz7042dwBNOPkQ0QpPvAYM=; b=JLa2yCy1z/Pp9+Lt9UeFfpdCQhec4Z7bo3yUH4CEfnoBhKMCDU+MJli0yriBRlNu4k v2B00+OsYd7hFVdVUoNPccMYRz3mlbMOX4VCKUCoW6douEYYUrgimfpdWyzrKDu2aVjA 6+oPqBx3q9QVn39AHFdwA/YsmUX0Ohk3pp9tWvtsqcXgtRY9NZKaFLC5rclZQsgcstab fWPP9jBaX4Rc/LuUmH7sc8lV2RcNCQSDM7qb9N8qZufz6IUiGDA5H0+icZQj49fgokwV FAC4+sAuyZ0AhfJ60yCcKc2hpphC37GF1YA75lawRFbsrT7jO/E0xlibi2eRlC812jRr 5FGA== X-Gm-Message-State: APjAAAWtyiUVc5VgHuptTDoynBHR8CC0sVuVg1aUDcyeGTVaOSl8cvM3 lCgJw24CjGGXFI9y+aTvZgJNBB+c88PX0fEu/nBpWQdNOoWhKIy7ldMR4sWQVIAHK7jH0UqT+Xb 1dzohpQ8GKV4+ X-Received: by 2002:a63:550d:: with SMTP id j13mr1049545pgb.173.1567650999722; Wed, 04 Sep 2019 19:36:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqwujyx4mogXKAdzSw35C/1j5ZYEkkWbNOvY6Zy2iqj+yxrNxXN8Kyq3M8rXCTbJMiIT1aQNWg== X-Received: by 2002:a63:550d:: with SMTP id j13mr1049523pgb.173.1567650999422; Wed, 04 Sep 2019 19:36:39 -0700 (PDT) Received: from xz-x1.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id v10sm326504pjk.23.2019.09.04.19.36.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Sep 2019 19:36:38 -0700 (PDT) From: Peter Xu To: kvm@vger.kernel.org Cc: Sean Christopherson , Paolo Bonzini , Wanpeng Li , Krish Sadhukhan , peterx@redhat.com Subject: [PATCH v3 3/4] KVM: X86: Tune PLE Window tracepoint Date: Thu, 5 Sep 2019 10:36:15 +0800 Message-Id: <20190905023616.29082-4-peterx@redhat.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190905023616.29082-1-peterx@redhat.com> References: <20190905023616.29082-1-peterx@redhat.com> MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org The PLE window tracepoint triggers even if the window is not changed, and the wording can be a bit confusing too. One example line: kvm_ple_window: vcpu 0: ple_window 4096 (shrink 4096) It easily let people think of "the window now is 4096 which is shrinked", but the truth is the value actually didn't change (4096). Let's only dump this message if the value really changed, and we make the message even simpler like: kvm_ple_window: vcpu 4 old 4096 new 8192 (growed) Signed-off-by: Peter Xu --- arch/x86/kvm/svm.c | 16 ++++++++-------- arch/x86/kvm/trace.h | 21 ++++++--------------- arch/x86/kvm/vmx/vmx.c | 14 ++++++++------ arch/x86/kvm/x86.c | 2 +- 4 files changed, 23 insertions(+), 30 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index d685491fce4d..d5cb6b5a9254 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -1269,11 +1269,11 @@ static void grow_ple_window(struct kvm_vcpu *vcpu) pause_filter_count_grow, pause_filter_count_max); - if (control->pause_filter_count != old) + if (control->pause_filter_count != old) { mark_dirty(svm->vmcb, VMCB_INTERCEPTS); - - trace_kvm_ple_window_grow(vcpu->vcpu_id, - control->pause_filter_count, old); + trace_kvm_ple_window_update(vcpu->vcpu_id, + control->pause_filter_count, old); + } } static void shrink_ple_window(struct kvm_vcpu *vcpu) @@ -1287,11 +1287,11 @@ static void shrink_ple_window(struct kvm_vcpu *vcpu) pause_filter_count, pause_filter_count_shrink, pause_filter_count); - if (control->pause_filter_count != old) + if (control->pause_filter_count != old) { mark_dirty(svm->vmcb, VMCB_INTERCEPTS); - - trace_kvm_ple_window_shrink(vcpu->vcpu_id, - control->pause_filter_count, old); + trace_kvm_ple_window_update(vcpu->vcpu_id, + control->pause_filter_count, old); + } } static __init int svm_hardware_setup(void) diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index 8a7570f8c943..f1177e03768f 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h @@ -890,36 +890,27 @@ TRACE_EVENT(kvm_pml_full, TP_printk("vcpu %d: PML full", __entry->vcpu_id) ); -TRACE_EVENT(kvm_ple_window, - TP_PROTO(bool grow, unsigned int vcpu_id, int new, int old), - TP_ARGS(grow, vcpu_id, new, old), +TRACE_EVENT(kvm_ple_window_update, + TP_PROTO(unsigned int vcpu_id, int new, int old), + TP_ARGS(vcpu_id, new, old), TP_STRUCT__entry( - __field( bool, grow ) __field( unsigned int, vcpu_id ) __field( int, new ) __field( int, old ) ), TP_fast_assign( - __entry->grow = grow; __entry->vcpu_id = vcpu_id; __entry->new = new; __entry->old = old; ), - TP_printk("vcpu %u: ple_window %d (%s %d)", - __entry->vcpu_id, - __entry->new, - __entry->grow ? "grow" : "shrink", - __entry->old) + TP_printk("vcpu %u old %d new %d (%s)", + __entry->vcpu_id, __entry->old, __entry->new, + __entry->old < __entry->new ? "growed" : "shrinked") ); -#define trace_kvm_ple_window_grow(vcpu_id, new, old) \ - trace_kvm_ple_window(true, vcpu_id, new, old) -#define trace_kvm_ple_window_shrink(vcpu_id, new, old) \ - trace_kvm_ple_window(false, vcpu_id, new, old) - TRACE_EVENT(kvm_pvclock_update, TP_PROTO(unsigned int vcpu_id, struct pvclock_vcpu_time_info *pvclock), TP_ARGS(vcpu_id, pvclock), diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 42ed3faa6af8..469c4134a4a7 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -5233,10 +5233,11 @@ static void grow_ple_window(struct kvm_vcpu *vcpu) ple_window_grow, ple_window_max); - if (vmx->ple_window != old) + if (vmx->ple_window != old) { vmx->ple_window_dirty = true; - - trace_kvm_ple_window_grow(vcpu->vcpu_id, vmx->ple_window, old); + trace_kvm_ple_window_update(vcpu->vcpu_id, + vmx->ple_window, old); + } } static void shrink_ple_window(struct kvm_vcpu *vcpu) @@ -5248,10 +5249,11 @@ static void shrink_ple_window(struct kvm_vcpu *vcpu) ple_window_shrink, ple_window); - if (vmx->ple_window != old) + if (vmx->ple_window != old) { vmx->ple_window_dirty = true; - - trace_kvm_ple_window_shrink(vcpu->vcpu_id, vmx->ple_window, old); + trace_kvm_ple_window_update(vcpu->vcpu_id, + vmx->ple_window, old); + } } /* diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 93b0bd45ac73..69ad184edc90 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -10082,7 +10082,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_invlpga); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_skinit); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_intercepts); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_write_tsc_offset); -EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_ple_window); +EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_ple_window_update); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pml_full); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pi_irte_update); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_avic_unaccelerated_access); From patchwork Thu Sep 5 02:36:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 11132029 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 11A7F1398 for ; Thu, 5 Sep 2019 02:36:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EE4CC206BA for ; Thu, 5 Sep 2019 02:36:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730778AbfIECgo (ORCPT ); Wed, 4 Sep 2019 22:36:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33210 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730776AbfIECgo (ORCPT ); Wed, 4 Sep 2019 22:36:44 -0400 Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DD2687F769 for ; Thu, 5 Sep 2019 02:36:43 +0000 (UTC) Received: by mail-pf1-f199.google.com with SMTP id w16so701298pfj.9 for ; Wed, 04 Sep 2019 19:36:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HxjOgu8AuJ4sFURxg4u+BP/uqk7UsSBU+RsKI6Kus/8=; b=ntjKcR443uxxn0MfH/YtverIn7quPdsfvGF6lHnjgnIYY023aZReWOqpTRl5QO9DwZ 8jHz01QuVozR2UFW6W3tL9LFFIg4NoN2v685J2lNSR8+GiwPAJxZBvssHSk4YOhClAON Rl5KeIvyijcOEYXi+Kq3D9hFfcMU6rWANuz9wrEptsXJQPtEUh8IKzxOXqPwTIFbbsc7 YrSeaijSyqulU0SygaYVsArZiTz3A2fbFU4N59oEUbTGE4bnwcYxo5e8/SuOAwoqq/Cf 0FBqQPL92SssiICf8Z7jTj2aObr/UXiuvZHfYpk5uqnAovXJPeqtX8wi8KwXkTu/xwUQ ciiw== X-Gm-Message-State: APjAAAX+NJlz4BROnnF/4CxfoyYHeeZ51HbpuXPEBsOEt/Wrcma8iHua OieImzCJcigfGIJna/JKKalz/l5oqOotvqwbeosO+cZLhCKnO/HOEGxsazaM6Gs8WUcZ0Xd1nDM EvGWF51vDkCuc X-Received: by 2002:a17:90a:b393:: with SMTP id e19mr1397015pjr.118.1567651002913; Wed, 04 Sep 2019 19:36:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqwZ0TFaCjzAlYeNNt4S7xfs89HxwHt1HZNbm3+6W2xlASC3ZtcGi1Xf0DuojA+RX/RV0YQECQ== X-Received: by 2002:a17:90a:b393:: with SMTP id e19mr1396996pjr.118.1567651002693; Wed, 04 Sep 2019 19:36:42 -0700 (PDT) Received: from xz-x1.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id v10sm326504pjk.23.2019.09.04.19.36.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Sep 2019 19:36:41 -0700 (PDT) From: Peter Xu To: kvm@vger.kernel.org Cc: Sean Christopherson , Paolo Bonzini , Wanpeng Li , Krish Sadhukhan , peterx@redhat.com Subject: [PATCH v3 4/4] KVM: VMX: Change ple_window type to unsigned int Date: Thu, 5 Sep 2019 10:36:16 +0800 Message-Id: <20190905023616.29082-5-peterx@redhat.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190905023616.29082-1-peterx@redhat.com> References: <20190905023616.29082-1-peterx@redhat.com> MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org The VMX ple_window is 32 bits wide, so logically it can overflow with an int. The module parameter is declared as unsigned int which is good, however the dynamic variable is not. Switching all the ple_window references to use unsigned int. The tracepoint changes will also affect SVM, but SVM is using an even smaller width (16 bits) so it's always fine. Suggested-by: Sean Christopherson Signed-off-by: Peter Xu --- arch/x86/kvm/trace.h | 8 ++++---- arch/x86/kvm/vmx/vmx.c | 4 ++-- arch/x86/kvm/vmx/vmx.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index f1177e03768f..ae924566c401 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h @@ -891,13 +891,13 @@ TRACE_EVENT(kvm_pml_full, ); TRACE_EVENT(kvm_ple_window_update, - TP_PROTO(unsigned int vcpu_id, int new, int old), + TP_PROTO(unsigned int vcpu_id, unsigned int new, unsigned int old), TP_ARGS(vcpu_id, new, old), TP_STRUCT__entry( __field( unsigned int, vcpu_id ) - __field( int, new ) - __field( int, old ) + __field( unsigned int, new ) + __field( unsigned int, old ) ), TP_fast_assign( @@ -906,7 +906,7 @@ TRACE_EVENT(kvm_ple_window_update, __entry->old = old; ), - TP_printk("vcpu %u old %d new %d (%s)", + TP_printk("vcpu %u old %u new %u (%s)", __entry->vcpu_id, __entry->old, __entry->new, __entry->old < __entry->new ? "growed" : "shrinked") ); diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 469c4134a4a7..1dbb63ffdd6d 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -5227,7 +5227,7 @@ static int handle_invalid_guest_state(struct kvm_vcpu *vcpu) static void grow_ple_window(struct kvm_vcpu *vcpu) { struct vcpu_vmx *vmx = to_vmx(vcpu); - int old = vmx->ple_window; + unsigned int old = vmx->ple_window; vmx->ple_window = __grow_ple_window(old, ple_window, ple_window_grow, @@ -5243,7 +5243,7 @@ static void grow_ple_window(struct kvm_vcpu *vcpu) static void shrink_ple_window(struct kvm_vcpu *vcpu) { struct vcpu_vmx *vmx = to_vmx(vcpu); - int old = vmx->ple_window; + unsigned int old = vmx->ple_window; vmx->ple_window = __shrink_ple_window(old, ple_window, ple_window_shrink, diff --git a/arch/x86/kvm/vmx/vmx.h b/arch/x86/kvm/vmx/vmx.h index 82d0bc3a4d52..64d5a4890aa9 100644 --- a/arch/x86/kvm/vmx/vmx.h +++ b/arch/x86/kvm/vmx/vmx.h @@ -253,7 +253,7 @@ struct vcpu_vmx { struct nested_vmx nested; /* Dynamic PLE window. */ - int ple_window; + unsigned int ple_window; bool ple_window_dirty; bool req_immediate_exit;