On June 23, 2025 8:39:41 AM PDT, Sean Christopherson <sea...@google.com> wrote:
>On Fri, Jun 20, 2025, H. Peter Anvin wrote:
>> On 2025-06-20 16:18, Sean Christopherson wrote:
>> > > 
>> > > So I was thinking about this, and wonder: how expensive is it to get the
>> > > event data exit information out of VMX? If it is not very expensive, it
>> > > would arguably be a good thing to future-proof by fetching that 
>> > > information,
>> > > even if it is currently always zero.
>> > 
>> > It's trivially easy to do in KVM, and the cost of the VMREAD should be 
>> > less than
>> > 20 cycles.  So quite cheap in the grand scheme.  If VMREAD is more costly 
>> > than
>> > that, then we have bigger problems :-)
>> > 
>> 
>> LOL. Since it is up to you, Paulo, etc. to decide how to do the tradeoffs
>> formaintainability, debuggability and performance in KVM I am guessing this
>> is a vote in favor? (You can always take it out if it is a performance
>> problem, until such time that the kernel itself starts consuming this
>> information for reasons currently unknown.)
>
>Unless you can pinky swear that vmcs.EXIT_QUALIFICATION will provide event data
>for IRQ exits, then I'd prefer to pass '0' unconditionally.  '0' will always be
>safe, if potentially suboptimal.  But passing what could in theory be something
>other than FRED-formatted event data could lead to buggy behavior.  Per the 
>FRED
>spec, Revision 7.0, exit-qualification doesn't hold event data for IRQ exits.
>
>  For some events for which event data is defined (see Section 5.2.1), the 
> event
>  data is saved in the exit-qualification field. (This is done for #DB, #PF, 
> and NMI.)

I agree, let's stick to that for now, since this is a kernel internal interface 
and nothing consumes it. After all, it will save a handful of cycles.

I will still check into the "pinky swear", though.

Reply via email to