Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 1 | From 269164337e0168b93661bb95c6a4e462ae6d8b61 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Wed, 24 Aug 2022 18:08:53 -0700 |
| 4 | Subject: [PATCH] io_uring: Replace pthread_self with s->tid |
| 5 | |
| 6 | __init_rand64 takes 64bit value and srand48 takes unsigned 32bit value, |
| 7 | pthread_t is opaque type and some libcs ( e.g. musl ) do not define them |
| 8 | in plain old data types and ends up with errors |
| 9 | |
| 10 | | t/io_uring.c:809:32: error: incompatible pointer to integer conversion passing 'pthread_t' (aka 'struct __pthread *') to parameter of type 'uint64_t' (aka 'unsigned long') [-Wint-conver |
| 11 | sion] |
| 12 | | __init_rand64(&s->rand_state, pthread_self()); |
| 13 | | ^~~~~~~~~~~~~~ |
| 14 | |
| 15 | Upstream-Status: Submitted [https://github.com/axboe/fio/pull/1455] |
| 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 17 | --- |
| 18 | t/io_uring.c | 5 ++--- |
| 19 | 1 file changed, 2 insertions(+), 3 deletions(-) |
| 20 | |
| 21 | diff --git a/t/io_uring.c b/t/io_uring.c |
| 22 | index 35bf1956..f34a3554 100644 |
| 23 | --- a/t/io_uring.c |
| 24 | +++ b/t/io_uring.c |
| 25 | @@ -799,15 +799,14 @@ static int submitter_init(struct submitter *s) |
| 26 | int i, nr_batch, err; |
| 27 | static int init_printed; |
| 28 | char buf[80]; |
| 29 | - |
| 30 | s->tid = gettid(); |
| 31 | printf("submitter=%d, tid=%d, file=%s, node=%d\n", s->index, s->tid, |
| 32 | s->filename, s->numa_node); |
| 33 | |
| 34 | set_affinity(s); |
| 35 | |
| 36 | - __init_rand64(&s->rand_state, pthread_self()); |
| 37 | - srand48(pthread_self()); |
| 38 | + __init_rand64(&s->rand_state, s->tid); |
| 39 | + srand48(s->tid); |
| 40 | |
| 41 | for (i = 0; i < MAX_FDS; i++) |
| 42 | s->files[i].fileno = i; |
| 43 | -- |
| 44 | 2.37.2 |
| 45 | |