powerpc: abort transaction in syscalls
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Fri, 7 Nov 2014 17:34:52 +0000 (12:34 -0500)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Mon, 12 Jan 2015 11:32:08 +0000 (06:32 -0500)
commit56cf2763819d2f721c98f2b8bcc04a3c673837d3
tree5d2fde37897779f64b83951c1ef99406fd384055
parent4b45943a6f62cfc239e79ad8902f5c7f71fd13ec
powerpc: abort transaction in syscalls

Linux kernel powerpc documentation states issuing a syscall inside a
transaction is not recommended and may lead to undefined behavior. It
also states syscalls does not abort transactoin neither they run in
transactional state.

To avoid side-effects being visible outside transactions, GLIBC with
lock elision enabled will issue a transaction abort instruction just
before all syscalls if hardware supports hardware transactions.
ChangeLog
sysdeps/powerpc/nptl/tcb-offsets.sym
sysdeps/powerpc/nptl/tls.h
sysdeps/powerpc/powerpc32/sysdep.h
sysdeps/powerpc/powerpc64/sysdep.h
sysdeps/powerpc/sysdep.h
sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h