On 8/2/22 3:04 PM, Artyom Pavlov wrote: > Greetings! > > In application code it's quite common to write/read a whole buffer and > only then continue task execution. The traditional approach is to wrap > read/write sycall/OP in loop, which is often done as part of a > language std. In synchronous context it makes sense because it allows > to process things like EINTR. But in asynchronous (event-driven) > context I think it makes a bit less sense. > > What do you think about potential addition of OPs like read_exact and > write_all, i.e. OPs which on successful CQE guarantee that an input > buffer was processed completely? They would allow to simplify user > code and in some cases to significantly reduce ring traffic. That may make sense, and there's some precedence there for sockets with the WAITALL flags. -- Jens Axboe