Re: About preemption timer

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

 



On 2013-12-17 13:59, Arthur Chunqi Li wrote:
> On Tue, Dec 17, 2013 at 8:43 PM, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote:
>> On 2013-12-17 12:31, Arthur Chunqi Li wrote:
>>> Hi Jan,
>>>
>>> On Tue, Dec 17, 2013 at 7:21 PM, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote:
>>>> On 2013-12-17 10:32, Arthur Chunqi Li wrote:
>>>>> Hi Jan and Paolo,
>>>>>
>>>>> I've tried to use preemption timer in KVM to trap vcpu regularly, but
>>>>> there's something unexpected. I run a VM with 4 vcpus and give them
>>>>> the same preemption timer value (e.g. 1000000) with all bits set
>>>>> (activate/save bits), then reset the value in preemption time-out
>>>>> handler.
>>>>>
>>>>> Thus I expected these vcpus trap regularly in some special turns. But
>>>>> I found that when the VM is not busy, some vcpus are trapped much less
>>>>> frequently than others. In Intel SDM, I noticed that preemption timer
>>>>> is only related to TSC, and I think all the vcpus should trap in a
>>>>> similar frequency.
>>>>>
>>>>> Could u help me explain this phenomenon?
>>>>
>>>> Are you on a CPU that has non-broken preemption timer support? Anything
>>>> prior Haswell is known to tick with arbitrary frequencies.
>>>
>>> My CPU is Intel(R) Xeon(R) CPU  E5620  @ 2.40GHz.
>>
>> Hmm, this one seems unaffected. Didn't find a "specification update".
>> Just like Paolo asked: Your original test case passes?
>>
>>>
>>> Besides, what do you mean by arbitrary frequencies?
>>
>> On older CPUs, the tick rate of the preemption timer does not correlate
>> with the TSC, definitely not in the way the spec defined.
>>
>> Back to your original question: Are we talking about native use of the
>> preemption timer via a patched KVM or nested use inside a KVM virtual
>> machine?
> 
> It is about the native use. I think it may due to the scheduling. When
> vcpu is scheduled out of pcpu, will the preemption timer work still?

The preemption timer ticks as long as the guest is running. Should be
specified like this as well. So your KVM patch needs to take care of
this when you want to expire it based on real-time, not based on guest
time. That's in fact similar to adjustments you implemented for the
emulation of the preemption timer.

Jan

> 
> Oh, another problem, I use the released kernel 3.11, not the latest
> one. Does this matter?
> 
> Arthur
> 
>>
>> Jan
>>
>> --
>> Siemens AG, Corporate Technology, CT RTC ITP SES-DE
>> Corporate Competence Center Embedded Linux
> 
> 
> 

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
--
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