Re: [PATCH] Inter-VM shared memory PCI device

malc
2010-03-11T14:38:04Z

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1944 bytes --]

On Thu, 11 Mar 2010, Nick Piggin wrote:

> On Thu, Mar 11, 2010 at 03:10:47AM +0000, Jamie Lokier wrote:
> > Paul Brook wrote:
> > > > > In a cross environment that becomes extremely hairy. For example the x86
> > > > > architecture effectively has an implicit write barrier before every
> > > > > store, and an implicit read barrier before every load.
> > > >
> > > > Btw, x86 doesn't have any implicit barriers due to ordinary loads.
> > > > Only stores and atomics have implicit barriers, afaik.
> > >
> > > As of March 2009[1] Intel guarantees that memory reads occur in
> > > order (they may only be reordered relative to writes). It appears
> > > AMD do not provide this guarantee, which could be an interesting
> > > problem for heterogeneous migration..
> >
> > (Summary: At least on AMD64, it does too, for normal accesses to
> > naturally aligned addresses in write-back cacheable memory.)
> >
> > Oh, that's interesting. Way back when I guess we knew writes were in
> > order and it wasn't explicit that reads were, hence smp_rmb() using a
> > locked atomic.
> >
> > Here is a post by Nick Piggin from 2007 with links to Intel _and_ AMD
> > documents asserting that reads to cacheable memory are in program order:
> >
> > http://lkml.org/lkml/2007/9/28/212
> > Subject: [patch] x86: improved memory barrier implementation
> >
> > Links to documents:
> >
> > http://developer.intel.com/products/processor/manuals/318147.pdf
> > http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24593.pdf
> >
> > The Intel link doesn't work any more, but the AMD one does.
>
> It might have been merged into their development manual now.

It was (http://www.intel.com/products/processor/manuals/):

Intel╝ 64 Architecture Memory Ordering White Paper

This document has been merged into Volume 3A of Intel 64 and IA-32
Architectures Software Developer's Manual.

[..snip..]

--
mailto:av1474@comtv.ru