[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 4/4] xen/x86: Correct mandatory and SMP barrier definitions



>>> On 16.08.17 at 13:22, <andrew.cooper3@xxxxxxxxxx> wrote:
> Barriers are a complicated topic, a source of confusion, and their incorrect
> use is a common cause of bugs.  It *really* doesn't help when Xen's API is the
> same as Linux, but its ABI different.
> 
> Bring the two back in line, so programmers stand a chance of actually getting
> their usage correct.
> 
> Drop the links in the comment, both of which are now stale.  Instead, refer to
> the vendor system manuals.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
with one remark:

> --- a/xen/include/asm-x86/system.h
> +++ b/xen/include/asm-x86/system.h
> @@ -164,23 +164,27 @@ static always_inline unsigned long __xadd(
>      ((typeof(*(ptr)))__xadd(ptr, (typeof(*(ptr)))(v), sizeof(*(ptr))))
>  
>  /*
> + * Mandatory barriers, for enforced ordering of reads and writes, e.g. for 
> use
> + * with MMIO devices mapped with reduced cacheability.
> + */
> +#define mb()            asm volatile ("mfence" ::: "memory")
> +#define rmb()           asm volatile ("lfence" ::: "memory")
> +#define wmb()           asm volatile ("sfence" ::: "memory")
> +
> +/*
> + * SMP barriers, for ordering of reads and writes between CPUs, most commonly
> + * used with shared memory.
> + *
>   * Both Intel and AMD agree that, from a programmer's viewpoint:
>   *  Loads cannot be reordered relative to other loads.
>   *  Stores cannot be reordered relative to other stores.
> - * 
> - * Intel64 Architecture Memory Ordering White Paper
> - * <http://developer.intel.com/products/processor/manuals/318147.pdf>
> - * 
> - * AMD64 Architecture Programmer's Manual, Volume 2: System Programming
> - * <http://www.amd.com/us-en/assets/content_type/\ 
> - *  white_papers_and_tech_docs/24593.pdf>
> + *  Loads may be reordered ahead of an unaliasing store.

For consistency with the other two sentences, perhaps use plural
at the end of the sentence too?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.