anolis-cloud-kernel/tools/io_uring
Jiufei Xue d0e3d603b5 io_uring: change the poll type to be 32-bits
task #30604148

commit 5769a351b8 upstream

poll events should be 32-bits to cover EPOLLEXCLUSIVE.

Explicit word-swap the poll32_events for big endian to make sure the ABI
is not changed.  We call this feature IORING_FEAT_POLL_32BITS,
applications who want to use EPOLLEXCLUSIVE should check the feature bit
first.

Signed-off-by: Jiufei Xue <jiufei.xue@linux.alibaba.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Xiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
2020-11-04 10:43:37 +08:00
..
Makefile tools/io_uring: fix Makefile for pthread library link 2020-03-18 23:26:16 +08:00
README
barrier.h
io_uring-bench.c
io_uring-cp.c tools/io_uring: sync with liburing 2020-03-18 23:26:16 +08:00
liburing.h io_uring: change the poll type to be 32-bits 2020-11-04 10:43:37 +08:00
queue.c tools/io_uring: sync with liburing 2020-03-18 23:26:16 +08:00
setup.c tools/io_uring: sync with liburing 2020-03-18 23:26:16 +08:00
syscall.c tools/io_uring: sync with liburing 2020-03-18 23:26:16 +08:00

README

This directory includes a few programs that demonstrate how to use io_uring
in an application. The examples are:

io_uring-cp
	A very basic io_uring implementation of cp(1). It takes two
	arguments, copies the first argument to the second. This example
	is part of liburing, and hence uses the simplified liburing API
	for setting up an io_uring instance, submitting IO, completing IO,
	etc. The support functions in queue.c and setup.c are straight
	out of liburing.

io_uring-bench
	Benchmark program that does random reads on a number of files. This
	app demonstrates the various features of io_uring, like fixed files,
	fixed buffers, and polled IO. There are options in the program to
	control which features to use. Arguments is the file (or files) that
	io_uring-bench should operate on. This uses the raw io_uring
	interface.

liburing can be cloned with git here:

	git://git.kernel.dk/liburing

and contains a number of unit tests as well for testing io_uring. It also
comes with man pages for the three system calls.

Fio includes an io_uring engine, you can clone fio here:

	git://git.kernel.dk/fio