[PATCH 1/3] powerpc/tm: Abort syscalls in active transactions

Michael Ellerman mpe at ellerman.id.au
Wed Mar 25 00:02:37 AEDT 2015


On Tue, 2015-03-24 at 09:56 +0530, Anshuman Khandual wrote:
> On 03/24/2015 07:34 AM, Michael Ellerman wrote:
> > On Fri, 2015-03-20 at 14:34 +0530, Anshuman Khandual wrote:
> >> On 03/19/2015 10:13 AM, Sam Bobroff wrote:
> >>> This patch changes the syscall handler to doom (tabort) active
> >>> transactions when a syscall is made and return immediately without
> >>> performing the syscall.
> >>>
> >>> Currently, the system call instruction automatically suspends an
> >>> active transaction which causes side effects to persist when an active
> >>> transaction fails.
> >>>
> >>> This does change the kernel's behaviour, but in a way that was
> >>> documented as unsupported. It doesn't reduce functionality because
> >>> syscalls will still be performed after tsuspend. It also provides a
> >>> consistent interface and makes the behaviour of user code
> >>> substantially the same across powerpc and platforms that do not
> >>> support suspended transactions (e.g. x86 and s390).
> >>>
> >>> Performance measurements using
> >>> http://ozlabs.org/~anton/junkcode/null_syscall.c
> >>> indicate the cost of a system call increases by about 0.5%.
> >>
> >> Performance test results verified which shows an improvement of
> >> around ~0.52% with the patch compared to without it.
> >>
> >> [With patch]		null_syscall:     757.59 cycles     100.00%
> >> [Without patch]]	null_syscall:     753.66 cycles     100.00%
> > 
> > No that's a performance *decrease* with the patch applied. ?
> 
> Micheal, thats true. The cycle counts are more with patch being applied.
> Here are some more results on mainline.

Right, more cycles == worse :)

But it's not much more so we'll merge it.

cheers




More information about the Linuxppc-dev mailing list