Messages in this thread | | | Date | Wed, 16 Nov 2022 15:22:30 +0100 | Subject | Re: (subset) [PATCH v1 0/2] io_uring uapi updates | From | Stefan Metzmacher <> |
| |
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@gnuweeb.org> >>>> >>>> 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@samba.org/
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
| |