From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Wang Subject: Re: [PATCH v2 1/8] perf/x86: add a function to get the lbr stack Date: Fri, 07 Sep 2018 14:45:24 +0800 Message-ID: <5B921E84.4010008@intel.com> References: <1536233456-12173-1-git-send-email-wei.w.wang@intel.com> <1536233456-12173-2-git-send-email-wei.w.wang@intel.com> <20180907032811.GO27886@tassilo.jf.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" , "pbonzini@redhat.com" , "Liang, Kan" , "peterz@infradead.org" , "mingo@redhat.com" , "rkrcmar@redhat.com" , "Xu, Like" To: Andi Kleen Return-path: In-Reply-To: <20180907032811.GO27886@tassilo.jf.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 09/07/2018 11:28 AM, Andi Kleen wrote: >> +int perf_get_lbr_stack(struct perf_lbr_stack *stack) >> +{ >> + stack->lbr_nr = x86_pmu.lbr_nr; >> + stack->lbr_tos = x86_pmu.lbr_tos; >> + stack->lbr_from = x86_pmu.lbr_from; >> + stack->lbr_to = x86_pmu.lbr_to; >> + >> + if (x86_pmu.intel_cap.lbr_format == LBR_FORMAT_INFO) >> + stack->lbr_info = MSR_LBR_INFO_0; >> + else >> + stack->lbr_info = 0; > Seems weird to export the enum value if the enum isn't exported. > How can it be used? > I'm not sure about the issue. The caller gets the value of MSR_LBR_INFO_0 (not the enum, LBR_FORMAT_INFO) only when the hardware supports it. If hardware doesn't support it, just sets it to 0, and there will be no lbr info msr to be passed through. Best, Wei