From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [Xen-devel] [RFC 2/2] x86, vdso, pvclock: Simplify and speed up the vdso pvclock reader Date: Tue, 23 Dec 2014 10:25:49 -0500 Message-ID: <5499897D.3000904@oracle.com> References: <8d09c16eb39cbe264417cc66c4aca730af10b70b.1419295081.git.luto@amacapital.net> <549986B8.3030606@oracle.com> <549986C3.4060807@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: Gleb Natapov , "xen-devel@lists.xenproject.org" , "linux-kernel@vger.kernel.org" , kvm list To: Paolo Bonzini , Andy Lutomirski , Marcelo Tosatti Return-path: In-Reply-To: <549986C3.4060807@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 12/23/2014 10:14 AM, Paolo Bonzini wrote: > > On 23/12/2014 16:14, Boris Ostrovsky wrote: >>> + do { >>> + version = pvti->version; >>> + >>> + /* This is also a read barrier, so we'll read version first. */ >>> + rdtsc_barrier(); >>> + tsc = __native_read_tsc(); >> >> This will cause VMEXIT on Xen with TSC_MODE_ALWAYS_EMULATE which is >> used, for example, after guest migrated (unless HW is capable of scaling >> TSC rate). > So does the __pvclock_read_cycles this is replacing (via > pvclock_get_nsec_offset). Right, I didn't notice that. -boris