<div dir="ltr"><div>Applied to jammy and kinetic linux master-next,</div><div><br></div><div>Thanks!</div><div>- Luke<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 14, 2023 at 11:30 PM Luke Nowakowski-Krijger <<a href="mailto:luke.nowakowskikrijger@canonical.com">luke.nowakowskikrijger@canonical.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">BugLink: <a href="https://bugs.launchpad.net/bugs/2012335" rel="noreferrer" target="_blank">https://bugs.launchpad.net/bugs/2012335</a><br>
<br>
SRU Justification:<br>
<br>
[Impact]<br>
<br>
There is a user reporting errors in setup with their Intel E810 NIC with<br>
error messages saying that the driver cannot allocate enough MSI-X vectors<br>
on their 256 cpu-count system. <br>
<br>
It seems the ICE ethernet driver has an all or nothing approach to<br>
allocating MSI-X vectors and could request more MSI-X vectors than it<br>
finds available, which could lead to the driver failing to initialize and<br>
start.<br>
<br>
[Fix]<br>
<br>
The patch that fixes this allocates as many MSI-X vectors as it can to continue<br>
functionality by reducing the number of requested MSI-X vectors if it does<br>
not have enough to do full allocation.<br>
<br>
[Backport]<br>
<br>
In Jammy we do not carry patches for switchdev support in the driver so do not<br>
allocate the switchdev MSI-X vector for it. Also in Jammy use the older<br>
way of checking RDMA support by testing the RDMA bit is set as opposed to the newer<br>
ice_is_rdma_ena that the patch uses.<br>
<br>
[Test Plan]<br>
<br>
Install and startup Ice driver with an Intel 800 series NIC and check that we<br>
do not have the failure:<br>
<br>
Not enough device MSI-X vectors, requested = 260, available = 253<br>
<br>
and check that everything works as expected.<br>
<br>
The backported patch for Jammy has been tested by the original user who<br>
submited the bug report with their high cpu count system and confirmed no errors.<br>
<br>
[Where problems could occur]<br>
<br>
There could be problems with the logic of reducing the MSI-X vector<br>
usage leading to more errors in the driver, but otherwise minimal <br>
regression potential as the code is mostly refactoring initial MSI-X<br>
setup. <br>
<br>
<br>
Tony Nguyen (1):<br>
  ice: Allow operation with reduced device MSI-X<br>
<br>
 drivers/net/ethernet/intel/ice/ice_main.c | 185 ++++++++++++----------<br>
 1 file changed, 100 insertions(+), 85 deletions(-)<br>
<br>
-- <br>
2.34.1<br>
<br>
</blockquote></div></div>