On 8/20/19 11:29 AM, Bart Van Assche wrote: > Order head and tail stores properly against CQE / SQE memory accesses. > Use <asm/barrier.h> instead of the io_uring "barrier.h" header file. Trying to think of how we can best keeps things sane in this area going forward. As you know, the tools/io_uring/ stuff is basically just copies of either liburing files, exception being the io_uring-bench.c which is a copy of the t/io_uring.c from fio. We could move t/io_uring.c to liburing instead as a sample file as well. That is a bit odd, since t/io_uring doesn't use the liburing API at all. I could change that to just use the setup etc helpers, but still use the raw interface. I think that's a valid use case, for other programs. If we do that, then we're down to just syncing with liburing, and we can take some steps to make that easier to do. Open to suggestions... -- Jens Axboe