[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <17556f35-2c69-4793-27bf-3280f0177122@redhat.com>
Date: Thu, 9 Jun 2016 14:31:15 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Borislav Petkov <bp@...e.de>
Cc: Minfei Huang <mnghuan@...il.com>, luto@...nel.org, hpa@...or.com,
mingo@...hat.com, tglx@...utronix.de, x86@...nel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3 V2] pvclock: Get rid of __pvclock_read_cycles in
function pvclock_read_flags
On 09/06/2016 13:28, Borislav Petkov wrote:
>> > technically, they should be virt_rmb() -- it really doesn't matter of
>> > course because reads are never reordered on x86.
> You mean
>
> version = src->version;
> flags = src->flags;
>
> are not reordered?
>
> I don't think so.
The compiler can reorder them, so smp_rmb() and virt_rmb() have to be
barrier(), but the processor won't.
x86 will only move a store after a subsequent load, if you exclude
special cases such as write combining, non-temporal moves and the like.
LFENCE and SFENCE are only needed for those special cases.
Paolo
Powered by blists - more mailing lists