/* * Copyright 2016, Cyril Bur, IBM Corp. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * * Syscalls can be performed provided the transactions are suspended. * The exec() class of syscall is unique as a new process is loaded. * * It makes little sense for after an exec() call for the previously * suspended transaction to still exist. */ #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include "utils.h" #include "tm.h" static char *path; static int test_exec(void) { SKIP_IF(!have_htm()); asm __volatile__( "tbegin.;" "blt 1f; " "tsuspend.;" "1: ;" : : : "memory"); execl(path, "tm-exec", "--child", NULL); /* Shouldn't get here */ perror("execl() failed"); return 1; } static int after_exec(void) { asm __volatile__( "tbegin.;" "blt 1f;" "tsuspend.;" "1: ;" : : : "memory"); FAIL_IF(failure_is_nesting()); return 0; } int main(int argc, char *argv[]) { path = argv[0]; if (argc > 1 && strcmp(argv[1], "--child") == 0) return after_exec(); return test_harness(test_exec, "tm_exec"); } ket-rx-pump-back'>packet-rx-pump-back net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2017-01-27 11:56:06 -0700
committerJens Axboe <axboe@fb.com>2017-01-27 11:56:06 -0700
commitc14024dbb156c8392908aaa822097d27c6af8ec8 (patch)
tree02f6ffa664b16bd76750c05f62708a518de2acdc /tools/testing/selftests/ftrace/test.d/trigger
parent08965c2eba135bdfb6e86cf25308e01421c7e0ce (diff)
parent3b4f18843e511193e7eb616710e838f5852e661d (diff)
Merge branch 'stable/for-jens-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus
Konrad writes: Please pull in your 'for-linus' branch two little fixes for Xen block front: One fix is for handling the XEN_PAGE_SIZE != PAGE_SIZE (4KB vs 64KB on ARM for example) mishandling while the other is fixing the accounting for the configuration changes.
Diffstat (limited to 'tools/testing/selftests/ftrace/test.d/trigger')