RE: A question about HTL VM-Exit handling time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Paolo Bonzini [mailto:paolo.bonzini@xxxxxxxxx] On Behalf Of Paolo
> Bonzini
> Sent: Wednesday, October 22, 2014 2:40 AM
> To: Wu, Feng; kvm@xxxxxxxxxxxxxxx
> Cc: Xiao Guangrong
> Subject: Re: A question about HTL VM-Exit handling time
> 
> 
> 
> On 10/16/2014 10:15 AM, Wu, Feng wrote:
> > Hi folks,
> >
> > I run kernel build in the guest and use perf kvm to get some VM-Exit result as
> the following:
> >
> > Analyze events for all VCPUs:
> >
> >              VM-EXIT    Samples  Samples%     Time%   Min Time
> Max Time         A
> >
> >            MSR_WRITE    3613908    57.53%    18.97%
> 5us     1362us      9.73
> >                  HLT    1399747    22.28%    74.90%        5us
> 432448us     99.24
> >            CR_ACCESS     961203    15.30%     3.28%
> 4us      188us      6.33
> >   EXTERNAL_INTERRUPT     213821     3.40%     2.25%
> 4us     4089us     19.54
> >        EXCEPTION_NMI      25152     0.40%     0.12%
> 4us       71us      9.05
> >        EPT_MISCONFIG      20104     0.32%     0.15%
> 8us     5628us     13.74
> >                CPUID      19904     0.32%     0.07%        4us
> 220us      6.90
> >       IO_INSTRUCTION      17097     0.27%     0.20%       13us
> 1008us     22.08
> >    PAUSE_INSTRUCTION      10737     0.17%     0.05%
> 4us       53us      8.33
> >             MSR_READ         48     0.00%     0.00%
> 4us        8us      5.62
> >
> > Total Samples:6281721, Total events handled time:185457820.41us.
> >
> > I also do some other experiments with different workload in the guest, I got
> the same results in terms of
> > HLT VM-Exit handling time. Does anyone know why the handling time for HLT
> VM-Exit is so high? Appreciate
> > You help!
> 
> 432 ms sounds like a lot, but in general it is expected that HLT vmexits
> take a long time.  After an HLT vmexit, the VCPU will not be reentered
> until the next interrupt comes.  On hardware, the HLT instruction can
> also take many milliseconds.

Thanks for your answer, Paolo.
There is a general question for perf kvm. Do you know how the vmexit
handling time is measured? Such as what is the start point, and the
end point? If I got this information, I think I can better understand the
value of the handling time. Thanks a lot!


> 
> If this is an SMP guest, it's possible that the maximum time is
> registered on the APs before Linux boots.  With a UP guest I would
> expect a shorter maximum time, but still longer than other vmexits.

Yes, you are right, I get the data for an UP guest and the HLT vmexit
handling time is shorter. Here is the result:

Analyze events for all VCPUs:

             VM-EXIT    Samples  Samples%     Time%   Min Time   Max Time

  EXTERNAL_INTERRUPT      90015    29.68%    41.92%        4us      660us     24.9
           MSR_WRITE      89512    29.52%    14.25%        4us      162us      8.5
      IO_INSTRUCTION      47823    15.77%    16.67%       11us     1907us     18.6
       EPT_MISCONFIG      38504    12.70%     7.42%        7us     4848us     10.3
               CPUID      32658    10.77%     3.61%        3us      304us      5.9
       EXCEPTION_NMI       2232     0.74%     0.34%        4us      164us      8.2
   PAUSE_INSTRUCTION       1594     0.53%     0.21%        3us       44us      6.9
                 HLT        547     0.18%    15.50%        8us   177098us   1516.5
           CR_ACCESS        278     0.09%     0.05%        5us       26us      8.7
       EPT_VIOLATION         71     0.02%     0.03%        8us       27us     20.3
            MSR_READ         12     0.00%     0.00%        3us        4us      4.1

Total Samples:303246, Total events handled time:5350983.30us.

Thanks,
Feng

> 
> Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux