[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48A04E30.9050105@qumranet.com>
Date: Mon, 11 Aug 2008 17:35:28 +0300
From: Avi Kivity <avi@...ranet.com>
To: Glauber Costa <glommer@...il.com>
CC: Gerd Hoffmann <kraxel@...hat.com>,
Jeremy Fitzhardinge <jeremy@...p.org>,
Marcelo Tosatti <mtosatti@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
kvm-devel <kvm@...r.kernel.org>
Subject: Re: Use of barriers in pvclock ABI
Glauber Costa wrote:
> On Mon, Aug 11, 2008 at 4:08 AM, Gerd Hoffmann <kraxel@...hat.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists