On 2/21/19 5:10 AM, Marek Majkowski wrote: >> From: Jens Axboe <axboe@xxxxxxxxx> >> Subject: [PATCHSET v15] io_uring IO interface >> Message-ID: <20190211190049.7888-1-axboe@xxxxxxxxx> (raw) >> >> Some final tweaks, mostly cosmetic, but also two important fixes: >> >> 1) Ensure that we account the skb appropriately against the socket. >> Some network config options apparently return is an skb with >> ->truesize != 0 when allocated with a size of 0, ensure we add >> those as references against sock->sk_wmem_alloc. Reported by >> Matt Mullins. > > Jens, > > I tried using io_uring with network sockets. It seem to be doing the > right thing. One bit is missing though: "flags" as in recv(2). > > In perfect world I would like to specify at least: > - MSG_DONTWAIT > - MSG_WAITALL > - MSG_NOSIGNAL > > Right now, unless I'm missing something, io_uring_sqe doesn't have a > place where we could store these. "flags" is needed for any > non-trivial network I/O. We have flags for sqes, depending on the type. You can add to the union that already holds rw_flags/fsync_flags/poll_events? There's also a (smaller) flags field that applies for all types, which currently only holds the fixed file flag. If you're talking on a per-syscall type of flag, io_uring_enter(2) does take a flags member. -- Jens Axboe