On Tue, 2015-12-01 at 16:08 +1100, Rashmica Gupta wrote: > This test does a fork syscall inside a transaction. Basic sniff test > to see > if we can enter the kernel during a transaction.
Can you add this description to the top of the test case as well? Mikey > > Signed-off-by: Rashmica Gupta <rashm...@gmail.com> > --- > tools/testing/selftests/powerpc/tm/.gitignore | 1 + > tools/testing/selftests/powerpc/tm/Makefile | 2 +- > tools/testing/selftests/powerpc/tm/tm-fork.c | 41 > +++++++++++++++++++++++++++ > 3 files changed, 43 insertions(+), 1 deletion(-) > create mode 100644 tools/testing/selftests/powerpc/tm/tm-fork.c > > diff --git a/tools/testing/selftests/powerpc/tm/.gitignore > b/tools/testing/selftests/powerpc/tm/.gitignore > index e6668217ccd0..d0c7c97e9b13 100644 > --- a/tools/testing/selftests/powerpc/tm/.gitignore > +++ b/tools/testing/selftests/powerpc/tm/.gitignore > @@ -2,3 +2,4 @@ tm-resched-dscr > tm-syscall > tm-signal-msr-resv > tm-signal-stack > +tm-fork > diff --git a/tools/testing/selftests/powerpc/tm/Makefile > b/tools/testing/selftests/powerpc/tm/Makefile > index 578572a3700a..f7d4727662aa 100644 > --- a/tools/testing/selftests/powerpc/tm/Makefile > +++ b/tools/testing/selftests/powerpc/tm/Makefile > @@ -1,4 +1,4 @@ > -TEST_PROGS := tm-resched-dscr tm-syscall tm-signal-msr-resv tm > -signal-stack > +TEST_PROGS := tm-resched-dscr tm-syscall tm-signal-msr-resv tm > -signal-stack tm-fork > > all: $(TEST_PROGS) > > diff --git a/tools/testing/selftests/powerpc/tm/tm-fork.c > b/tools/testing/selftests/powerpc/tm/tm-fork.c > new file mode 100644 > index 000000000000..f571a48a59a0 > --- /dev/null > +++ b/tools/testing/selftests/powerpc/tm/tm-fork.c > @@ -0,0 +1,41 @@ > +/* > + * Copyright 2015, Michael Neuling, IBM Corp. > + * Licensed under GPLv2. > + * > + * Edited: Rashmica Gupta, Nov 2015 > + * > + * Fork inside a transaction > + */ > + > +#include <errno.h> > +#include <inttypes.h> > +#include <pthread.h> > +#include <stdio.h> > +#include <stdlib.h> > +#include <unistd.h> > + > +#include "utils.h" > +#include "tm.h" > + > +int test_fork(void) > +{ > + SKIP_IF(!have_htm()); > + > + asm __volatile__( > + "tbegin.;" > + "blt 1f; " > + "li 0, 2;" /* fork syscall */ > + "sc ;" > + "tend.;" > + "1: ;" > + : : : "memory", "r0"); > + /* If we reach here, we've passed. Otherwise we've probably > crashed > + * the kernel */ > + > + return 0; > +} > + > +int main(int argc, char *argv[]) > +{ > + return test_harness(test_fork, "tm_fork"); > +} _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev