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

Reply via email to