<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/tools/testing/selftests/powerpc/tm/Makefile, branch linux-4.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-07-26T04:28:22Z</updated>
<entry>
<title>selftests/powerpc: exec() with suspended transaction</title>
<updated>2016-07-26T04:28:22Z</updated>
<author>
<name>Cyril Bur</name>
</author>
<published>2016-06-29T11:41:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a431b946db581d6a121d035a887d370cdc4b8dea'/>
<id>urn:sha1:a431b946db581d6a121d035a887d370cdc4b8dea</id>
<content type='text'>
Perform an exec() class syscall with a suspended transaction.

This is a test for the bug we fixed in 8e96a87c5431 ("powerpc/tm: Always
reclaim in start_thread() for exec() class syscalls").

Signed-off-by: Cyril Bur &lt;cyrilbur@gmail.com&gt;
[mpe: Fix build errors, use a single binary for the test]
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>selftests/powerpc: Add test to check if TM SPRs are corrupted</title>
<updated>2016-05-11T11:54:14Z</updated>
<author>
<name>Rashmica Gupta</name>
</author>
<published>2015-12-23T05:49:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=16aab321872400a4ce35b90ba40484fcb5d636ba'/>
<id>urn:sha1:16aab321872400a4ce35b90ba40484fcb5d636ba</id>
<content type='text'>
Testing that the TM SPRs are behaving the way they should. Uses more
threads than cpus to see if the following register values persist with
context switching:
- the FS (failure summary) flag in TEXASR
- TFIAR and TFHAR

Signed-off-by: Rashmica Gupta &lt;rashmicy@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>selftests/powerpc: Add TM test to check if TAR is corrupted</title>
<updated>2016-05-11T11:54:13Z</updated>
<author>
<name>Rashmica Gupta</name>
</author>
<published>2015-12-23T05:49:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dbccb4940c9c9c8c93fcf733445e96dd2d6890d6'/>
<id>urn:sha1:dbccb4940c9c9c8c93fcf733445e96dd2d6890d6</id>
<content type='text'>
If the transaction is aborted, the TAR should be rolled back to the
checkpointed value before the transaction began. The value written to the
TAR when the transaction is suspended should only remain there if the
transaction completes successfully.

Signed-off-by: Rashmica Gupta &lt;rashmicy@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>selftests/powerpc: Add test for forking inside transaction</title>
<updated>2016-05-11T11:54:13Z</updated>
<author>
<name>Rashmica Gupta</name>
</author>
<published>2015-12-23T05:49:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d95be4ca3e457044be55c8b1c1b5ac64f17d8a92'/>
<id>urn:sha1:d95be4ca3e457044be55c8b1c1b5ac64f17d8a92</id>
<content type='text'>
This test does a fork syscall inside a transaction. Basic sniff test to see
if we can enter the kernel during a transaction.

Signed-off-by: Rashmica Gupta &lt;rashmicy@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>selftests/powerpc: Add test to check if VSRs are corrupted</title>
<updated>2015-12-14T09:41:50Z</updated>
<author>
<name>Rashmica Gupta</name>
</author>
<published>2015-12-10T09:49:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f337e3e5b04b32793fd51adab438d46df99c933'/>
<id>urn:sha1:5f337e3e5b04b32793fd51adab438d46df99c933</id>
<content type='text'>
When a transaction is aborted, VSR values should rollback to the
checkpointed values before the transaction began. VSRs used elsewhere in
the kernel during a transaction, or while the transaction is suspended
should not affect the checkpointed values.

Prior to the bug fix in commit d31626f70b61 ("powerpc: Don't corrupt
transactional state when using FP/VMX in kernel") when VMX was requested
by the kernel the .vr_state (which held the checkpointed state of VSRs
before the transaction) was overwritten with the current state from
outside the transation. Thus if the transaction did not complete, the
VSR values would be "rolled back" to potentially incorrect values.

Signed-off-by: Rashmica Gupta &lt;rashmicy@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>selftests/powerpc: Add TM signal with invalid stack test</title>
<updated>2015-12-14T09:41:49Z</updated>
<author>
<name>Michael Neuling</name>
</author>
<published>2015-11-20T04:15:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a26f415bf71640f0141e5e946384444675206b6a'/>
<id>urn:sha1:a26f415bf71640f0141e5e946384444675206b6a</id>
<content type='text'>
Test the kernels signal generation code to ensure it can handle an
invalid stack pointer when transactional.

Signed-off-by: Michael Neuling &lt;mikey@neuling.org&gt;
Tested-by: Anshuman Khandual &lt;khandual@linux.vnet.ibm.com&gt;
[mpe: Skip if we don't have TM]
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>selftests/powerpc: Add TM signal return test</title>
<updated>2015-12-14T09:41:48Z</updated>
<author>
<name>Michael Neuling</name>
</author>
<published>2015-11-20T04:15:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25007a69e852389985ee98235e76d740d4821c6c'/>
<id>urn:sha1:25007a69e852389985ee98235e76d740d4821c6c</id>
<content type='text'>
Test the kernel's signal return code to ensure that it doesn't crash
when both the transactional and suspend MSR bits are set in the signal
context.

Signed-off-by: Michael Neuling &lt;mikey@neuling.org&gt;
Tested-by: Anshuman Khandual &lt;khandual@linux.vnet.ibm.com&gt;
[mpe: Skip if we don't have TM]
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>selftests/powerpc: Skip tm-resched-dscr if we don't have TM</title>
<updated>2015-12-14T09:41:48Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2015-12-02T05:00:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b319ee8445961c5f7b2fd199c0ef99c418ee2d4a'/>
<id>urn:sha1:b319ee8445961c5f7b2fd199c0ef99c418ee2d4a</id>
<content type='text'>
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>selftests/powerpc: Move get_auxv_entry() into utils.c</title>
<updated>2015-12-14T09:41:47Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2015-11-24T02:05:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fcb45ec074725baeb3aaa1b1854b9f44c3eebacf'/>
<id>urn:sha1:fcb45ec074725baeb3aaa1b1854b9f44c3eebacf</id>
<content type='text'>
This doesn't really belong in harness.c, it's a helper function. So move
it into utils.c.

Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/tm: Abort syscalls in active transactions</title>
<updated>2015-06-19T07:10:28Z</updated>
<author>
<name>Sam bobroff</name>
</author>
<published>2015-06-12T01:06:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b4b56f9ecab40f3b4ef53e130c9f6663be491894'/>
<id>urn:sha1:b4b56f9ecab40f3b4ef53e130c9f6663be491894</id>
<content type='text'>
This patch changes the syscall handler to doom (tabort) active
transactions when a syscall is made and return very early without
performing the syscall and keeping side effects to a minimum (no CPU
accounting or system call tracing is performed). Also included is a
new HWCAP2 bit, PPC_FEATURE2_HTM_NOSC, to indicate this
behaviour to userspace.

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 as
syscalls will still be performed after tsuspend; it just requires that
the transaction be explicitly suspended.  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 normal (non-aborted) system call increases by about 0.25%.

Signed-off-by: Sam Bobroff &lt;sam.bobroff@au1.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
</feed>
