From: Avi Kivity <avi@qumranet.com>
To: Glauber Costa <glommer@gmail.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
Jeremy Fitzhardinge <jeremy@goop.org>,
Marcelo Tosatti <mtosatti@redhat.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
kvm-devel <kvm@vger.kernel.org>
Subject: Re: Use of barriers in pvclock ABI
Date: Mon, 11 Aug 2008 17:35:28 +0300 [thread overview]
Message-ID: <48A04E30.9050105@qumranet.com> (raw)
In-Reply-To: <5d6222a80808110718i6a600858v7bdb5e08054ebefa@mail.gmail.com>
Glauber Costa wrote:
> On Mon, Aug 11, 2008 at 4:08 AM, Gerd Hoffmann <kraxel@redhat.com> 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.
>>
>
> Okay for guest vcpu, but what about physical cpus?
>
>
> IIRC, the checks are there, and so strict, to account for the
> possiblity of the vcpu to be migrated to another cpu in the middle of
> the
>
Migration implies an smp barrier (but not a compiler barrier, of
course). As to the the version number oddness check, I don't see how it
can be necessary.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2008-08-11 14:35 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-08 19:51 Use of barriers in pvclock ABI Jeremy Fitzhardinge
2008-08-11 7:08 ` Gerd Hoffmann
2008-08-11 14:15 ` Avi Kivity
2008-08-11 14:18 ` Glauber Costa
2008-08-11 14:35 ` Avi Kivity [this message]
2008-08-11 14:49 ` Gerd Hoffmann
2008-08-11 16:02 ` Jeremy Fitzhardinge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48A04E30.9050105@qumranet.com \
--to=avi@qumranet.com \
--cc=glommer@gmail.com \
--cc=jeremy@goop.org \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mtosatti@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.