projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
t/io_uring: use fio provided memory barriers
[fio.git]
/
t
/
io_uring.c
diff --git
a/t/io_uring.c
b/t/io_uring.c
index 0545a1dd680c64f00aaa68c31d55839235058c39..ef5d52d1f930180d083ef7b614e811e17a4dd395 100644
(file)
--- a/
t/io_uring.c
+++ b/
t/io_uring.c
@@
-24,8
+24,6
@@
#include "../lib/types.h"
#include "../os/linux/io_uring.h"
#include "../lib/types.h"
#include "../os/linux/io_uring.h"
-#define barrier() __asm__ __volatile__("": : :"memory")
-
#define min(a, b) ((a < b) ? (a) : (b))
struct io_sq_ring {
#define min(a, b) ((a < b) ? (a) : (b))
struct io_sq_ring {
@@
-211,7
+209,7
@@
static int prep_more_ios(struct submitter *s, int max_ios)
next_tail = tail = *ring->tail;
do {
next_tail++;
next_tail = tail = *ring->tail;
do {
next_tail++;
- barrier();
+
read_
barrier();
if (next_tail == *ring->head)
break;
if (next_tail == *ring->head)
break;
@@
-224,9
+222,9
@@
static int prep_more_ios(struct submitter *s, int max_ios)
if (*ring->tail != tail) {
/* order tail store with writes to sqes above */
if (*ring->tail != tail) {
/* order tail store with writes to sqes above */
- barrier();
+
write_
barrier();
*ring->tail = tail;
*ring->tail = tail;
- barrier();
+
write_
barrier();
}
return prepped;
}
}
return prepped;
}
@@
-263,7
+261,7
@@
static int reap_events(struct submitter *s)
do {
struct file *f;
do {
struct file *f;
- barrier();
+
read_
barrier();
if (head == *ring->tail)
break;
cqe = &ring->cqes[head & cq_ring_mask];
if (head == *ring->tail)
break;
cqe = &ring->cqes[head & cq_ring_mask];
@@
-285,7
+283,7
@@
static int reap_events(struct submitter *s)
s->inflight -= reaped;
*ring->head = head;
s->inflight -= reaped;
*ring->head = head;
- barrier();
+
write_
barrier();
return reaped;
}
return reaped;
}