Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp595207imu; Fri, 4 Jan 2019 03:41:54 -0800 (PST) X-Google-Smtp-Source: AFSGD/WW2cq0SWEcGJjss866g7z9nUUPs/aU9XPDc+/e3zrDSOYXVeojX5n2+3tGtWBKELZ9vWIC X-Received: by 2002:a62:3006:: with SMTP id w6mr52440802pfw.258.1546602114221; Fri, 04 Jan 2019 03:41:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546602114; cv=none; d=google.com; s=arc-20160816; b=an17wX57aIz86/prHRSo7+i5cF/dU7S4FJJTH74j95kVdzHmyfljAI+BM0rw00V+xZ 1qkTdOsKFlwNpUDuDAzi452wOi3crrrb8XU/FxVcjhDVQdUByqHYWI0ur1HFE/Icz5Pg c/swpsLxn1F1mRy0DdMlyL5Pv18qNLn847d5yI17PKQyBoRMb5wO8ujjh3+GTu7O0dvg PciIzGw1rjC+D64T59UI7upjZC3ryNwWQV+YPCWCDQgYFwCjYg2Pwuy2hOJVzfLlV/g0 hIMCuD78oy/PJO7uNZMDf4qitkZtaP+AmNHt6HPdd+oHK9bE9zFlCnmZmPGCd0Wl7TpY 8teg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :references:subject:cc:to:mime-version:user-agent:from:date :message-id; bh=4Pkam/SE7gFxTTGJ6HafuVqcluoH+P0keIYA8RnLoR4=; b=ELuz9ba9rNd0KBFVGKme+UQTkHHLL+yPbO05sTomnk7grvXM5um3ap2oZrG0ykstT0 SdY2z0iJunecDm/UV2K9AHslgKW6GugDMIX7z6+S9HmwER2NbjqH8hs8LU6MXLvfsKXN PE/wTNGGQ6I4Qrp2HTxbm1jcejGDqTC14/zakcJ27DlVYS4SHrzLG9DN24KoHnSZ9x71 6Duuz7zPhP4uVGvDWM2UcSrt/mvKa0h5qwhQjSXqfugZ2eMeW0AQF/91yJ0OyVBkMYOK fxMaHm5ZzjIj/jJcu8wTVHZ3UJPbc1B++wwZwJNt5Xl2suSOScWPkLC70LBSsKjBPQ0q 3VTA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o89si57109621pfk.223.2019.01.04.03.41.39; Fri, 04 Jan 2019 03:41:54 -0800 (PST) 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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727010AbfADJw6 (ORCPT + 99 others); Fri, 4 Jan 2019 04:52:58 -0500 Received: from mga09.intel.com ([134.134.136.24]:14329 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726257AbfADJw5 (ORCPT ); Fri, 4 Jan 2019 04:52:57 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Jan 2019 01:52:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,437,1539673200"; d="scan'208";a="288788820" Received: from unknown (HELO [10.239.13.114]) ([10.239.13.114]) by orsmga005.jf.intel.com with ESMTP; 04 Jan 2019 01:52:55 -0800 Message-ID: <5C2F2E3E.7020306@intel.com> Date: Fri, 04 Jan 2019 17:58:22 +0800 From: Wei Wang User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: "Liang, Kan" , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, pbonzini@redhat.com, ak@linux.intel.com, peterz@infradead.org CC: kan.liang@intel.com, mingo@redhat.com, rkrcmar@redhat.com, like.xu@intel.com, jannh@google.com, arei.gonglei@huawei.com Subject: Re: [PATCH v4 04/10] KVM/x86: intel_pmu_lbr_enable References: <1545816338-1171-1-git-send-email-wei.w.wang@intel.com> <1545816338-1171-5-git-send-email-wei.w.wang@intel.com> <5a04d8ea-b788-6018-8b34-ebd528578916@linux.intel.com> In-Reply-To: <5a04d8ea-b788-6018-8b34-ebd528578916@linux.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/03/2019 12:33 AM, Liang, Kan wrote: > > > On 12/26/2018 4:25 AM, Wei Wang wrote: >> + >> + /* >> + * It could be possible that people have vcpus of old model run on >> + * physcal cpus of newer model, for example a BDW guest on a SKX >> + * machine (but not possible to be the other way around). >> + * The BDW guest may not get accurate results on a SKX machine >> as it >> + * only reads 16 entries of the lbr stack while there are 32 >> entries >> + * of recordings. So we currently forbid the lbr enabling when the >> + * vcpu and physical cpu see different lbr stack entries. > > I think it's not enough to only check number of entries. The LBR > from/to MSRs may be different even the number of entries is the same, > e.g SLM and KNL. Yes, we could add the comparison of the FROM msrs. > >> + */ >> + switch (vcpu_model) { > > That's a duplicate of intel_pmu_init(). I think it's better to factor > out the common part if you want to check LBR MSRs and entries. Then we > don't need to add the same codes in two different places when enabling > new platforms. > Yes, I thought about this, but intel_pmu_init() does a lot more things in each "Case xx". Any thought about how to factor them out? > Actually, I think we may just support LBR for guest if it has the > identical CPU model as host. It should be good enough for now. > I actually tried this in the first place but it failed to work with the existing QEMU. For example, when we specify "Broadwell" cpu from qemu, then qemu uses Broadwell core model, but the physical machine I have is Broadwell X. This patch will support this case. Best, Wei