From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932726AbcFGNQa (ORCPT ); Tue, 7 Jun 2016 09:16:30 -0400 Received: from mail-oi0-f66.google.com ([209.85.218.66]:34399 "EHLO mail-oi0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752023AbcFGNQ3 (ORCPT ); Tue, 7 Jun 2016 09:16:29 -0400 Date: Tue, 7 Jun 2016 21:16:21 +0800 From: Minfei Huang To: bp@suse.de, pbonzini@redhat.com, luto@kernel.org, hpa@zytor.com, mingo@redhat.com, tglx@linutronix.de Cc: x86@kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/3 V2] pvclock: Get rid of __pvclock_read_cycles in function pvclock_read_flags Message-ID: <20160607131621.GA15012@MinfeideMacBook-Pro.local> References: <1464329832-4638-3-git-send-email-mnghuan@gmail.com> <1464438463-8485-1-git-send-email-mnghuan@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1464438463-8485-1-git-send-email-mnghuan@gmail.com> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ping. Any comment is appreciate. Thanks Minfei On 05/28/16 at 08:27P, Minfei Huang wrote: > There is a generic function __pvclock_read_cycles to be used to get both > flags and cycles. For function pvclock_read_flags, it's useless to get > cycles value. To make this function be more effective, get this variable > flags directly in function. > > Signed-off-by: Minfei Huang > --- > v1: > - Get rid of __pvclock_read_cycles according to Andy's suggestion > --- > arch/x86/kernel/pvclock.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/pvclock.c b/arch/x86/kernel/pvclock.c > index 7f82fe0..06c58ce 100644 > --- a/arch/x86/kernel/pvclock.c > +++ b/arch/x86/kernel/pvclock.c > @@ -61,11 +61,14 @@ void pvclock_resume(void) > u8 pvclock_read_flags(struct pvclock_vcpu_time_info *src) > { > unsigned version; > - cycle_t ret; > u8 flags; > > do { > - version = __pvclock_read_cycles(src, &ret, &flags); > + version = src->version; > + /* Make the latest version visible */ > + smp_rmb(); > + > + flags = src->flags; > /* Make sure that the version double-check is last. */ > smp_rmb(); > } while ((src->version & 1) || version != src->version); > -- > 2.6.3 >