On 2024-10-09 10:50, Jens Axboe wrote: > On 10/7/24 4:15 PM, David Wei wrote: >> From: David Wei <davidhwei@xxxxxxxx> >> >> Add a new object called an interface queue (ifq) that represents a net rx queue >> that has been configured for zero copy. Each ifq is registered using a new >> registration opcode IORING_REGISTER_ZCRX_IFQ. >> >> The refill queue is allocated by the kernel and mapped by userspace using a new >> offset IORING_OFF_RQ_RING, in a similar fashion to the main SQ/CQ. It is used >> by userspace to return buffers that it is done with, which will then be re-used >> by the netdev again. >> >> The main CQ ring is used to notify userspace of received data by using the >> upper 16 bytes of a big CQE as a new struct io_uring_zcrx_cqe. Each entry >> contains the offset + len to the data. >> >> For now, each io_uring instance only has a single ifq. > > Looks pretty straight forward to me, but please wrap your commit > messages at ~72 chars or it doesn't read so well in the git log. Apologies, I rely on vim's text wrapping feature to format. I'll make sure git commit messages are <72 chars in the future.