/* * Copyright 2015, Michael Neuling, IBM Corp. * Licensed under GPLv2. * * Edited: Rashmica Gupta, Nov 2015 * * This test does a fork syscall inside a transaction. Basic sniff test * to see if we can enter the kernel during 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; }Contributors
Person | Tokens | Prop | Commits | CommitProp | |
rashmica gupta | rashmica gupta | 23 | 100.00% | 1 | 100.00% |
Total | 23 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
rashmica gupta | rashmica gupta | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
rashmica gupta | rashmica gupta | 69 | 100.00% | 1 | 100.00% |
Total | 69 | 100.00% | 1 | 100.00% |