This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] powerpc: Fix tabort usage in syscalls
- From: Steven Munroe <munroesj at linux dot vnet dot ibm dot com>
- To: "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- Cc: libc-alpha at sourceware dot org, Tulio Magno Quites Machado Filho <tuliom at linux dot vnet dot ibm dot com>
- Date: Wed, 12 Aug 2015 14:00:57 -0500
- Subject: Re: [PATCH] powerpc: Fix tabort usage in syscalls
- Authentication-results: sourceware.org; auth=none
- References: <55C4C152 dot 8030506 at linux dot vnet dot ibm dot com>
- Reply-to: munroesj at linux dot vnet dot ibm dot com
On Fri, 2015-08-07 at 09:31 -0500, Paul E. Murphy wrote:
> 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 and require for reliable function, Please apply