From 15649fa0c7b20ae642a8fe1244cf26e8544edecd Mon Sep 17 00:00:00 2001 From: rubberhead Date: Tue, 5 Dec 2023 23:53:39 +0000 Subject: [PATCH] Added more pages --- test/misc/barrier | Bin 0 -> 15856 bytes test/misc/barrier.arm64 | Bin 0 -> 70952 bytes test/misc/mfence_playground.c | 45 ++++++++++++++++++++++++++++++++++ test/misc/nobarrier | Bin 0 -> 15856 bytes 4 files changed, 45 insertions(+) create mode 100755 test/misc/barrier create mode 100755 test/misc/barrier.arm64 create mode 100644 test/misc/mfence_playground.c create mode 100755 test/misc/nobarrier diff --git a/test/misc/barrier b/test/misc/barrier new file mode 100755 index 0000000000000000000000000000000000000000..4225ceb4563bec05ef96d3d2a5b037c428f9e9c4 GIT binary patch literal 15856 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 literal 0 HcmV?d00001 diff --git a/test/misc/mfence_playground.c b/test/misc/mfence_playground.c new file mode 100644 index 0000000..89cdf52 --- /dev/null +++ b/test/misc/mfence_playground.c @@ -0,0 +1,45 @@ +#include +#include +#include +#include +#include + +// Shared variable +int a = 1; + +void *foo(void *_noarg) { + while (a) + asm volatile ("":::"memory"); + printf("Exiting from foo...\n"); + exit(EXIT_SUCCESS); +} + +void *bar(void *_noarg) { + a = 0; + printf("Exiting from bar...\n"); + exit(EXIT_SUCCESS); +} + +int main(int argc, char** argv) { + const size_t NR_THREADS = 2; + pthread_t *threads = calloc(NR_THREADS, sizeof(pthread_t)); + + int ret_create_thread_1 = pthread_create(&threads[0], NULL, foo, NULL); + if (ret_create_thread_1) { + perror("Failed to create pthread for `foo`."); + exit(EXIT_FAILURE); + } + + int ret_create_thread_2 = pthread_create(&threads[1], NULL, bar, NULL); + if (ret_create_thread_2) { + perror("Failed to create pthread for `bar`."); + pthread_cancel(threads[0]); + exit(EXIT_FAILURE); + } + + for (size_t thread_idx = 0; thread_idx < NR_THREADS; thread_idx++) { + pthread_join(threads[thread_idx], NULL); + } + + exit(EXIT_SUCCESS); +} \ No newline at end of file diff --git a/test/misc/nobarrier b/test/misc/nobarrier new file mode 100755 index 0000000000000000000000000000000000000000..5364e2d8856509948a342beaf7df17058db4d5ac GIT binary patch literal 15856 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 literal 0 HcmV?d00001