diff options
author | Torvald Riegel <triegel@redhat.com> | 2013-10-08 14:17:01 +0300 |
---|---|---|
committer | Torvald Riegel <triegel@redhat.com> | 2014-04-10 21:22:28 +0200 |
commit | 6a5d6ea128153f5a00d8c80f15f76004006767da (patch) | |
tree | 74bf61305b9ec52b30373226cf7a1fcbcec8d27c /benchtests/pthread_once-inputs | |
parent | a4c75cfd56e536c2b18556e8a482d88dffa0fffc (diff) | |
download | glibc-6a5d6ea128153f5a00d8c80f15f76004006767da.tar.gz glibc-6a5d6ea128153f5a00d8c80f15f76004006767da.tar.xz glibc-6a5d6ea128153f5a00d8c80f15f76004006767da.zip |
benchtests: Add pthread_once common-case test.
We have a single thread that runs a no-op initialization once and then repeatedly runs checks of the initialization (i.e., an acquire load and conditional jump) in a tight loop. This gives us, on average, the best-case latency of pthread_once (the initialization is the exactly-once slow path, and we're not looking at initialization-related synchronization overheads in this case).
Diffstat (limited to 'benchtests/pthread_once-inputs')
-rw-r--r-- | benchtests/pthread_once-inputs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/benchtests/pthread_once-inputs b/benchtests/pthread_once-inputs new file mode 100644 index 0000000000..22c57096f7 --- /dev/null +++ b/benchtests/pthread_once-inputs @@ -0,0 +1,9 @@ +# This tests the common-case scenario for pthread_once. +# We have a single thread that runs a no-op initialization once and then +# repeatedly runs checks of the initialization (i.e., an acquire load and +# conditional jump) in a tight loop. +# scripts/bench.py doesn't handle function pointers, so we just use void *: +## args: pthread_once_t *:void * +## includes: pthread.h +## include-sources: pthread_once-source.c +&once, once_handler |