Re: A question about HTL VM-Exit handling time

2014-10-28 Thread Paolo Bonzini
On 10/28/2014 12:52 AM, Wanpeng Li wrote:
> As you know, kernel build which Feng used is a CPU bound workload,
> so why 22.28% samples is halt?

Because in a CPU bound workload you don't have many exits in the first
place.  But there could also be some issues with the way he used perf.
213821 interrupts seem to be really few.

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


Re: A question about HTL VM-Exit handling time

2014-10-28 Thread Christian Borntraeger
Am 21.10.2014 20:39, schrieb Paolo Bonzini:
> 
> 
> 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-EXITSamples  Samples% Time%   Min Time   Max Time
>>  A
>>
>>MSR_WRITE361390857.53%18.97%5us 1362us
>>   9.73
>>  HLT139974722.28%74.90%5us   432448us
>>  99.24
>>CR_ACCESS 96120315.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%4us8us
>>   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.
> 
> 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.

We have the same on s390 with wait state. The thing is, with an idle system and 
NOHZ the time spend in HLT/wait could be really long. So We might want to 
provide an option to filter this out.
(A similar filter already exitis for the --duration option)

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


Re: A question about HTL VM-Exit handling time

2014-10-27 Thread Wanpeng Li
Hi Paolo,
On Tue, Oct 21, 2014 at 08:39:49PM +0200, Paolo Bonzini wrote:
>
>
>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-EXITSamples  Samples% Time%   Min Time   Max Time
>>  A
>> 
>>MSR_WRITE361390857.53%18.97%5us 1362us
>>   9.73
>>  HLT139974722.28%74.90%5us   432448us
>>  99.24
>>CR_ACCESS 96120315.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%4us8us
>>   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.
>

As you know, kernel build which Feng used is a CPU bound workload,
so why 22.28% samples is halt?

Regards,
Wanpeng Li 

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


RE: A question about HTL VM-Exit handling time

2014-10-23 Thread Wu, Feng


> -Original Message-
> From: Paolo Bonzini [mailto:pbonz...@redhat.com]
> Sent: Thursday, October 23, 2014 8:23 PM
> To: Wu, Feng; kvm@vger.kernel.org
> Cc: Xiao Guangrong
> Subject: Re: A question about HTL VM-Exit handling time
> 
> 
> > 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!
> 
> It is measured from kvm:kvm_exit to kvm:kvm_entry.  See
> exit_event_begin, exit_event_get_key, exit_event_end in
> tools/perf/builtin-kvm.c.

Got it, Thanks for the information!

Thanks,
Feng

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


Re: A question about HTL VM-Exit handling time

2014-10-23 Thread Paolo Bonzini

> 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!

It is measured from kvm:kvm_exit to kvm:kvm_entry.  See
exit_event_begin, exit_event_get_key, exit_event_end in
tools/perf/builtin-kvm.c.

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


RE: A question about HTL VM-Exit handling time

2014-10-22 Thread Wu, Feng


> -Original Message-
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
> Sent: Wednesday, October 22, 2014 2:40 AM
> To: Wu, Feng; kvm@vger.kernel.org
> 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-EXITSamples  Samples% Time%   Min Time
> Max Time A
> >
> >MSR_WRITE361390857.53%18.97%
> 5us 1362us  9.73
> >  HLT139974722.28%74.90%5us
> 432448us 99.24
> >CR_ACCESS 96120315.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%
> 4us8us  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-EXITSamples  Samples% Time%   Min Time   Max Time

  EXTERNAL_INTERRUPT  9001529.68%41.92%4us  660us 
24.9
   MSR_WRITE  8951229.52%14.25%4us  162us  
8.5
  IO_INSTRUCTION  4782315.77%16.67%   11us 1907us 
18.6
   EPT_MISCONFIG  3850412.70% 7.42%7us 4848us 
10.3
   CPUID  3265810.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
 HLT547 0.18%15.50%8us   177098us   
1516.5
   CR_ACCESS278 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%3us4us  
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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: A question about HTL VM-Exit handling time

2014-10-21 Thread Paolo Bonzini


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-EXITSamples  Samples% Time%   Min Time   Max Time 
> A
> 
>MSR_WRITE361390857.53%18.97%5us 1362us 
>  9.73
>  HLT139974722.28%74.90%5us   432448us 
> 99.24
>CR_ACCESS 96120315.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%4us8us 
>  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.

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.

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