df1bdc0667
movnt* instructions are not strongly ordered with respect to other stores, so if we are to assume stores are strongly ordered in the rest of the 64 bit code, we must fence these off (see similar examples in 32 bit code). [ The AMD memory ordering document seems to say that nontemporal stores can also pass earlier regular stores, so maybe we need sfences _before_ movnt* everywhere too? ] Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
bitops_32.c | ||
bitops_64.c | ||
bitstr_64.c | ||
checksum_32.S | ||
clear_page_64.S | ||
copy_page_64.S | ||
copy_user_64.S | ||
copy_user_nocache_64.S | ||
csum-copy_64.S | ||
csum-partial_64.c | ||
csum-wrappers_64.c | ||
delay_32.c | ||
delay_64.c | ||
getuser_32.S | ||
getuser_64.S | ||
io_64.c | ||
iomap_copy_64.S | ||
Makefile | ||
Makefile_32 | ||
Makefile_64 | ||
memcpy_32.c | ||
memcpy_64.S | ||
memmove_64.c | ||
memset_64.S | ||
mmx_32.c | ||
msr-on-cpu.c | ||
putuser_32.S | ||
putuser_64.S | ||
rwlock_64.S | ||
semaphore_32.S | ||
string_32.c | ||
strstr_32.c | ||
thunk_64.S | ||
usercopy_32.c | ||
usercopy_64.c |