From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Use of barriers in pvclock ABI Date: Mon, 11 Aug 2008 17:15:04 +0300 Message-ID: <48A04968.7000805@qumranet.com> References: <489CA3DA.1090400@goop.org> <489FE56E.1080707@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Jeremy Fitzhardinge , Glauber de Oliveira Costa , Marcelo Tosatti , Linux Kernel Mailing List , kvm-devel To: Gerd Hoffmann Return-path: In-Reply-To: <489FE56E.1080707@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Gerd Hoffmann wrote: > Hi, > > >> However, the pvclock_clocksource_read() implementation is >> over-engineered, because it checks for an odd version and uses very >> strong rmb() barriers (which generates either an "lfence" or "lock add >> $0, (%esp)"). >> >> If we're happy to guarantee as an ABI issue that the record will never >> be updated cross-cpu, then we can make the barriers simply barrier() and >> just check for (src->version != dst->version). >> >> Is that OK with you, or do you want to leave open the possibility of >> doing cross-cpu time updates? >> > > Due to the TSC being involved here I don't expect cross-cpu time updates > will ever happen. IMHO it is fine to change that. > > I agree. And if we ever feel the need, we can allocate a feature bit for it. -- error compiling committee.c: too many arguments to function