Hi Jakub, > From: Jakub Kicinski <kuba@xxxxxxxxxx> > Sent: Friday, April 5, 2024 7:51 AM > > On Wed, 3 Apr 2024 20:41:32 +0300 Parav Pandit wrote: > > Many devices send event notifications for the IO queues, such as tx > > and rx queues, through event queues. > > > > Enable a privileged owner, such as a hypervisor PF, to set the number > > of IO event queues for the VF and SF during the provisioning stage. > > What's the relationship between EQ and queue pairs and IRQs? Netdev qps (txq, rxq pair) channels created are typically upto num cpus by driver, provided it has enough IO event queues upto cpu count. Rdma qps are far more than netdev qps as multiple process uses them and they are per user space process resource. Those applications use number of QPs based on number of cpus and number of event channels to deliver notifications to user space. Driver uses the IRQs dynamically upto the PCI's limit based on supported IO event queues. > The next patch says "maximum IO event queues which are typically used to > derive the maximum and default number of net device channels" > It may not be obvious to non-mlx5 experts, I think it needs to be better > documented. I will expand the documentation in .../networking/devlink/devlink-port.rst. I will add below change to the v4 that has David's comments also addressed. Is this ok for you? --- a/Documentation/networking/devlink/devlink-port.rst +++ b/Documentation/networking/devlink/devlink-port.rst @@ -304,6 +304,11 @@ When user sets maximum number of IO event queues for a SF or a VF, such function driver is limited to consume only enforced number of IO event queues. +IO event queues deliver events related to IO queues, including network +device transmit and receive queues (txq and rxq) and RDMA Queue Pairs (QPs). +For example, the number of netdevice channels and RDMA device completion +vectors are derived from the function's IO event queues. +