From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Huang Subject: Re: [RFC] vPMU support for AMD system Date: Mon, 06 Oct 2014 09:26:33 -0500 Message-ID: <5432A699.20302@redhat.com> References: <542B61DA.3070307@redhat.com> <20141004070016.GR26540@minantech.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: pbonzini@redhat.com, KVM To: Gleb Natapov Return-path: Received: from mx1.redhat.com ([209.132.183.28]:16593 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752612AbaJFO0f (ORCPT ); Mon, 6 Oct 2014 10:26:35 -0400 In-Reply-To: <20141004070016.GR26540@minantech.com> Sender: kvm-owner@vger.kernel.org List-ID: This On 10/4/14 2:00 AM, Gleb Natapov wrote: > Hi, > > On Tue, Sep 30, 2014 at 09:07:22PM -0500, Wei Huang wrote: >> Hi Paolo and Gleb, >> >> The attached file is a preliminary version of AMD vPMU support for KVM. >> Currently I am working on a formal patch set; but realized that there are >> some design choice to make (see below). I thought it is better to send it >> out now, asking for your comments before sending out patchset v1. >> >> If you are OK with current approach, please let me know. Otherwise please >> share your suggestions/comments on the design choice (see suggestions >> below). I will send out split patch set soon. >> > I am not very familiar with AMD PMU, but IIRC is lacks architectural PMU, so the > first question that comes to my mind is: > >> +static struct kvm_event_hw_type_mapping amd_event_mapping[] = { >> + [0] = { 0x76, 0x00, PERF_COUNT_HW_CPU_CYCLES }, >> + [1] = { 0xc0, 0x00, PERF_COUNT_HW_INSTRUCTIONS }, >> + [3] = { 0x80, 0x00, PERF_COUNT_HW_CACHE_REFERENCES }, >> + [4] = { 0x81, 0x00, PERF_COUNT_HW_CACHE_MISSES }, >> + [5] = { 0xc4, 0x00, PERF_COUNT_HW_BRANCH_INSTRUCTIONS }, >> + [6] = { 0xc5, 0x00, PERF_COUNT_HW_BRANCH_MISSES }, >> +}; >> + > Are those evens count exactly same things on all AMD cpus? These mappings were pulled off from Linux perf code. From the code and several AMD BKDGs I read, they were consistent across CPU families. If there is no guaranteed consistency, I think we can fall back to raw perf counters. So this amd_event_mapping table can be removed. -Wei > > > -- > Gleb. >