Re: [PATCH 3/16] read/write_crX, clts and wbinvd for 64-bitparavirt

From: Keir Fraser
Date: Thu Nov 01 2007 - 12:56:19 EST


On 1/11/07 15:30, "Jeremy Fitzhardinge" <jeremy@xxxxxxxx> wrote:

> Glauber de Oliveira Costa wrote:
>> I in fact have seen bugs with mixed reads and writes to the same cr,
>> (cr4), but adding the volatile
>> flag to the read function seemed to fix it.
>
> Well, volatile will make a read be repeated rather than caching the
> previous value, but it has no effect on ordering.

volatile prevents the asm from being 'moved significantly', according to the
gcc manual. I take that to mean that reordering is not allowed.

-- Keir


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/