Re: About preemption timer

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

 



Hi,

You must adjust the preemption timer according to the eclipsed time
when the guest runs.

And register a hrtimer triggered when a guest exit.
The timer should be alarmed when the remaining time runs out,

2013/12/17 Jan Kiszka <jan.kiszka@xxxxxxxxxxx>:
> 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



-- 
Thanks
Rui Wu
--
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