On Tue, Mar 18, 2025 at 12:45:48PM -0700, Samudrala, Sridhar wrote: > > > On 3/18/2025 10:20 AM, Jason Gunthorpe wrote: > > On Tue, Mar 18, 2025 at 10:01:36AM -0700, Samudrala, Sridhar wrote: > > > > > Yes. Today irdma uses exported symbols from i40e and ice and loading irdma > > > results in both modules to be loaded even when only type of NIC is present > > > on a system. This series is trying to remove that dependency by using > > > callbacks. > > > > If you really have two different core drivers that can provide the > > same API then I think you are stuck with function pointers :\ > > > > It is really weird though, why are their two core drivers that can > > provide the same API? Is this because intel keeps rewriting their > > driver stack every few years? > > This is a known issue due to HW/FW interface changes across multiple > generations of the NICs forcing us to go with separate core drivers. > > We are working with HW/FW teams to avoid this in future and going forward we > expect to have idpf/ixd as the 2 drivers (idpf providing the data path > functionality and ixd as the control/data/switchdev port-rep driver) for all > our future FNICs/IPUs. > > Leon, Could you approve the callbacks approach considering that irdma needs > to support multiple intel nic core drivers. We would really appreciate it. I'm not approving or denying anything. I just expressed my view on the idea to reinvent wheel. It is not HW bug which prevents from you to use Intel HW, but some bad architecture decision. This decision leads to extra memory waste and nothing more. If I remember correctly, the use of "i40e and ice" at the same time is an outcome of Intel's decision to keep (and rename) old driver which supported iWARP only to support both iWARP and RoCE. Even then, that architecture decision wasn't well received. RDMA subsystem has another maintainer, who can and should have different opinions from me, you can try to convince him that function pointers is the right approach here. I think that it is not, extra waste of memory is a small price to pay for such architecture decision. Thanks > > -SridharW >