Re: [PATCH v7 05/13] perf/x86/intel/pt: Introduce a new function to get capability of Intel PT

From: Alexander Shishkin
Date: Thu May 03 2018 - 08:59:38 EST


On Thu, May 03, 2018 at 12:50:48PM +0000, Kang, Luwei wrote:
> > >> Can you elaborate on this, what information do we need besides
> > >> MSR_IA32_VMX_MISC[14]?
> > >
> > > Enable Intel PT in guest depend on SECONDARY_EXEC_PT_USE_GPA, EPT,
> > > MSR_IA32_VMX_MISC[14] and the capability of " PT_CAP_topa_output" on
> > > hardware. PT driver will return " -ENODEV" if hardware not support
> > > "PT_CAP_topa_output".
> >
> > I actually don't understand why PT_CAP_topa_output matters for the purpose of enabling PT in the guest. However you still need
> > __pt_cap_get() in the CPUID checks.
>
> Hi Paolo,
> I think we should expose Intel Processor Trace to guest that can be detected and initialized. But without "PT_CAP_topa_output" Intel PT can't work in Linux. So I add this feature as precondition.
> About why need this check in driver I think Alexander may know the reason.

The driver only operates on ToPA at the moment, so if PT doesn't support
it, there's nothing for the driver to do. But other things, such as
simple_pt, might still be functional without CAP_topa_output, so it still
makes sense to virtualize it.

Regards,
--
Alex