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: [PATCHv3] powerpc: Fix syscalls during early process initialization [BZ #22685]


On 2018-01-12 18:52, Tulio Magno Quites Machado Filho wrote:
> Changes since v2:
>  - Limited the scope of the changes to ABORT_TRANSACTION.
> 
> Changes since v1:
>  - Re-implemented the patch to re-define a powerpc-specific
>    __access_noerrno.
> 
> --- 8< ---
> 
> The tunables framework needs to execute syscall early in process
> initialization, before the TCB is available for consumption.  This
> behavior conflicts with powerpc{|64|64le}'s lock elision code, that
> checks the TCB before trying to abort transactions immediately before
> executing a syscall.
> 
> This patch adds a powerpc-specific implementation of __access_noerrno
> that does not abort transactions before the executing syscall.
> 
> Tested on powerpc{|64|64le}.
> 
> 2018-01-12  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
> 
> 	[BZ #22685]
> 	* sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Renamed
> 	from ABORT_TRANSACTION.
> 	(ABORT_TRANSACTION): Redirect to ABORT_TRANSACTION_IMPL.
> 	* sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION,
> 	ABORT_TRANSACTION_IMPL): Likewise.
> 	* sysdeps/unix/sysv/linux/powerpc/not-errno.h: New file.  Reuse
> 	Linux code, but remove the code that aborts transactions.

Thanks for this new version. It is indeed much simpler than the initial
version. I confirm it fixes the issue and does not introduce regressions
in the testsuite.

Tested-by: Aurelien Jarno <aurelien@aurel32.net>

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net


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