From mboxrd@z Thu Jan 1 00:00:00 1970 From: Glauber Costa Subject: Re: [patch 04/16] x86: pvclock: create helper for pvclock data retrieval Date: Thu, 1 Nov 2012 18:04:02 +0400 Message-ID: <50928152.2060005@parallels.com> References: <20121031224656.417434866@redhat.com> <20121031224824.003238142@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Cc: , , , , , , To: Marcelo Tosatti Return-path: Received: from mx2.parallels.com ([64.131.90.16]:33625 "EHLO mx2.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756011Ab2KAOEK (ORCPT ); Thu, 1 Nov 2012 10:04:10 -0400 In-Reply-To: <20121031224824.003238142@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 11/01/2012 02:47 AM, Marcelo Tosatti wrote: > +static __always_inline > +unsigned __pvclock_read_cycles(const struct pvclock_vcpu_time_info *src, > + cycle_t *cycles, u8 *flags) > +{ > + unsigned version; > + cycle_t ret, offset; > + u8 ret_flags; > + > + version = src->version; > + rdtsc_barrier(); > + offset = pvclock_get_nsec_offset(src); > + ret = src->system_time + offset; > + ret_flags = src->flags; > + rdtsc_barrier(); > + > + *cycles = ret; > + *flags = ret_flags; > + return version; > +} > + This interface is a bit weird. The actual value you are interested in is "cycles", so why is it returned through the parameters? I think it would be clearer to have this return cycles, and &version as a parameter.