On 2024-12-09 09:51, Mina Almasry wrote: > On Wed, Dec 4, 2024 at 9:23 AM David Wei <dw@xxxxxxxxxxx> wrote: >> >> Add documentation for io_uring zero copy Rx that explains requirements >> and the user API. >> >> Signed-off-by: David Wei <dw@xxxxxxxxxxx> >> --- >> Documentation/networking/iou-zcrx.rst | 201 ++++++++++++++++++++++++++ >> 1 file changed, 201 insertions(+) >> create mode 100644 Documentation/networking/iou-zcrx.rst >> >> diff --git a/Documentation/networking/iou-zcrx.rst b/Documentation/networking/iou-zcrx.rst >> new file mode 100644 >> index 000000000000..0a3af8c08c7e >> --- /dev/null ... >> +Usage >> +===== >> + >> +Setup NIC >> +--------- >> + >> +Must be done out of band for now. > > I would remove any 'for now' instances in the docs. Uapis are going to > be maintained as-is for posterity. Even if you in the future add new > APIs which auto-configure headersplit/flow steering/rss, I'm guessing > the current API would live on for backward compatibility reasons. The UAPI will be extended in a way that does not affect backwards compatibility e.g. extending io_uring_zcrx_ifq_reg. Such that any of the following will work: 1. Configure NIC using ethtool 2. Call io_uring_register_ifq() 1. Configure NIC using new io_uring UAPI 2. Call io_uring_register_ifq() 1. Configure NIC by setting new fields in io_uring_zcrx_ifq_reg 2. Call io_uring_register_ifq() Therefore the "for now" is intended. > >> + >> +Ensure there are enough queues:: > > Was not clear to me what are enough queues. Technically you only need > 2 queues, right? (one for iozcrx and one for normal traffic). I'll change it to "ensure there are at least two queues".