This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCHv2] powerpc: Fix tabort usage in syscalls


"Paul E. Murphy" <murphyp@linux.vnet.ibm.com> writes:

> Fix usage of tabort in generated syscalls.  r0 has special meaning
> when used with this instruction, thus it will not generate
> persistent errors, nor return an error code.  This mitigates poor
> CPU usage when performing elided critical sections.
>
> Additionally, transactions should be aborted when entering a user
> invoked syscall.  Otherwise the results of the transaction may be
> undefined.
>
> 2015-08-03  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
>
> 	* sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION): Use
> 	register other than r0 for tabort, it has special meaning.
> 	* sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION): Likewise
> 	* sysdeps/unix.sysv/linux/powerpc/syscall.S (syscall): Abort
> 	transaction before starting syscall.

LGTM.

I'm pushing it.

Thanks!

-- 
Tulio Magno


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]