Am 16.11.22 um 14:50 schrieb Jens Axboe:
On 11/15/22 11:34 PM, Ammar Faizi wrote:
On 11/16/22 6:14 AM, Jens Axboe wrote:
On Wed, 16 Nov 2022 04:29:51 +0700, Ammar Faizi wrote:
From: Ammar Faizi <ammarfaizi2@xxxxxxxxxxx>
Hi Jens,
io_uring uapi updates:
1) Don't force linux/time_types.h for userspace. Linux's io_uring.h is
synced 1:1 into liburing's io_uring.h. liburing has a configure
check to detect the need for linux/time_types.h (Stefan).
[...]
Applied, thanks!
[1/2] io_uring: uapi: Don't force linux/time_types.h for userspace
commit: 958bfdd734b6074ba88ee3abc69d0053e26b7b9c
Jens, please drop this commit. It breaks the build:
Dropped - please actually build your patches, or make it clear that
they were not built at all. None of these 2 patches were any good.
Is it tools/testing/selftests/net/io_uring_zerocopy_tx.c that doesn't build?
and needs a '#define HAVE_LINUX_TIME_TYPES_H 1'
BTW, the original commit I posted was here:
https://lore.kernel.org/io-uring/c7782923deeb4016f2ac2334bc558921e8d91a67.1666605446.git.metze@xxxxxxxxx/
What's the magic to compile tools/testing/selftests/net/io_uring_zerocopy_tx.c ?
My naive tries both fail (even without my patch):
All other files including any io_uring.h build and the patch was also included
in a branch where I build a complete working kernel with 'make -j33 bindeb-pkg'
metze@SERNOX19:~/devel/kernel/linux-4.4$ LANG=C make $(find io_uring/*.c fs/file_table.c fs/exec.c kernel/exit.c kernel/fork.c net/socket.c net/unix/scm.c
security/selinux/hooks.c security/smack/smack_lsm.c tools/testing/selftests/net/io_uring_zerocopy_tx.c | sed -e 's!\.c$!.o!') EXTRA_CFLAGS="-Wfatal-errors"
UPD include/config/kernel.release
UPD include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
DESCEND objtool
DESCEND bpf/resolve_btfids
CC fs/file_table.o
CC fs/exec.o
CC io_uring/advise.o
CC io_uring/cancel.o
CC io_uring/epoll.o
CC io_uring/fdinfo.o
CC io_uring/filetable.o
CC io_uring/fs.o
CC io_uring/io_uring.o
CC io_uring/io-wq.o
CC io_uring/kbuf.o
CC io_uring/msg_ring.o
CC io_uring/net.o
CC io_uring/nop.o
CC io_uring/notif.o
CC io_uring/opdef.o
CC io_uring/openclose.o
CC io_uring/poll.o
CC io_uring/rsrc.o
CC io_uring/rw.o
CC io_uring/splice.o
CC io_uring/sqpoll.o
CC io_uring/statx.o
CC io_uring/sync.o
CC io_uring/tctx.o
CC io_uring/timeout.o
CC io_uring/uring_cmd.o
CC io_uring/xattr.o
CC kernel/exit.o
CC kernel/fork.o
CC net/socket.o
CC net/unix/scm.o
CC security/selinux/hooks.o
CC security/smack/smack_lsm.o
CC tools/testing/selftests/net/io_uring_zerocopy_tx.o
tools/testing/selftests/net/io_uring_zerocopy_tx.c:3:10: fatal error: assert.h: No such file or directory
3 | #include <assert.h>
| ^~~~~~~~~~
compilation terminated.
make[1]: *** [scripts/Makefile.build:258: tools/testing/selftests/net/io_uring_zerocopy_tx.o] Error 1
make: *** [Makefile:1997: .] Error 2
metze@SERNOX19:~/devel/kernel/linux-4.4/tools/testing/selftests/net$ make io_uring_zerocopy_tx.o
gcc -Wall -Wl,--no-as-needed -O2 -g -I../../../../usr/include/ -isystem /home/metze/devel/kernel/linux-4.4/tools/testing/selftests/../../../usr/include -c -o
io_uring_zerocopy_tx.o io_uring_zerocopy_tx.c
io_uring_zerocopy_tx.c: In function ‘io_uring_prep_sendzc’:
io_uring_zerocopy_tx.c:287:30: error: ‘IORING_OP_SEND_ZC’ undeclared (first use in this function); did you mean ‘IORING_OP_SEND’?
287 | sqe->opcode = (__u8) IORING_OP_SEND_ZC;
| ^~~~~~~~~~~~~~~~~
| IORING_OP_SEND
io_uring_zerocopy_tx.c:287:30: note: each undeclared identifier is reported only once for each function it appears in
io_uring_zerocopy_tx.c: In function ‘do_tx’:
io_uring_zerocopy_tx.c:407:56: error: ‘IORING_RECVSEND_FIXED_BUF’ undeclared (first use in this function)
407 | sqe->ioprio |= IORING_RECVSEND_FIXED_BUF;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
io_uring_zerocopy_tx.c:429:42: error: ‘IORING_CQE_F_NOTIF’ undeclared (first use in this function); did you mean ‘IORING_CQE_F_MORE’?
429 | if (cqe->flags & IORING_CQE_F_NOTIF) {
| ^~~~~~~~~~~~~~~~~~
| IORING_CQE_F_MORE
make: *** [<eingebaut>: io_uring_zerocopy_tx.o] Fehler 1