From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: About preemption timer Date: Tue, 17 Dec 2013 13:43:08 +0100 Message-ID: <52B046DC.90107@siemens.com> References: <52B033BC.90602@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: kvm , Paolo Bonzini To: Arthur Chunqi Li Return-path: Received: from goliath.siemens.de ([192.35.17.28]:23902 "EHLO goliath.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753283Ab3LQMnP (ORCPT ); Tue, 17 Dec 2013 07:43:15 -0500 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 2013-12-17 12:31, Arthur Chunqi Li wrote: > Hi Jan, > > On Tue, Dec 17, 2013 at 7:21 PM, Jan Kiszka 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? Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux