Recent changes (master)
The following changes since commit 93d1811ce6a510d36d61381840283d1ae9933b37:
t/io_uring: pick next file if we're over the limti (2019-01-15 05:57:54 -0700)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 2b9415ddc260726c3ea9ae3436826f9181811143:
engines/io_uring: ensure sqe stores are ordered SQ ring tail update (2019-01-15 22:06:05 -0700)
----------------------------------------------------------------
Jens Axboe (7):
t/io_uring: print file depths
t/io_uring: wait if we're at queue limit
t/io_uring: terminate buf[] file depth string t/io_uring: fixes
x86-64: correct read/write barriers
t/io_uring: use fio provided memory barriers engines/io_uring: ensure sqe stores are ordered SQ ring tail update
arch/arch-x86_64.h | 4 ++-- engines/io_uring.c | 2 ++ t/io_uring.c | 51 ++++++++++++++++++++++++++++++++++++--------------- 3 files changed, 40 insertions(+), 17 deletions(-)
---
Diff of recent changes:
arch/arch-x86_64.h +2 -2
@@ -27,8 +27,8 @@ static inline void do_cpuid(unsigned int *eax, unsigned int *ebx,#define FIO_HUGE_PAGE 2097152#define nop __asm__ __volatile__("rep;nop": : :"memory") -#define read_barrier () __asm__ __volatile__("lfence":::"memory") -#define write_barrier () __asm__ __volatile__("sfence":::"memory") +#define read_barrier () __asm__ __volatile__("":::"memory") +#define write_barrier () __asm__ __volatile__("":::"memory")static inline unsigned long arch_ffz (unsigned long bitmask) {
engines/io_uring.c +2 -0
@@ -289,6 +289,8 @@ static enum fio_q_status fio_ioring_queue(struct thread_data *td,if (next_tail == *ring->head)return FIO_Q_BUSY ; +/* ensure sqe stores are ordered with tail update */ +write_barrier (); ring->array[tail & ld->sq_ring_mask] = io_u->index; *ring->tail = next_tail;write_barrier ();
t/io_uring.c +36 -15
136 lines not on this page · raw message