kernel mailz <kernelma...@googlemail.com> writes: > I tried a small example > > int *p = 0x1000; > int a = *p; > asm("sync":::"memory"); > a = *p; > > and > > volatile int *p = 0x1000; > int a = *p; > asm("sync"); > a = *p > > Got the same assembly. > Which is right. > > So does it mean, if proper use of volatile is done, there is no need > of "memory" ?
You have to consider the effects of inlining, which may bring in other memory loads and stores through non-volatile pointers. Ian _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev