Messages in this thread |  | | Date | Thu, 10 Apr 2025 12:44:33 +0200 | | From | Larysa Zaremba <> | | Subject | Re: [PATCH iwl-next 05/14] libeth: add control queue support |
| |
On Thu, Apr 10, 2025 at 11:21:37AM +0300, Leon Romanovsky wrote: > On Tue, Apr 08, 2025 at 02:47:51PM +0200, Larysa Zaremba wrote: > > From: Phani R Burra <phani.r.burra@intel.com> > > > > Libeth will now support control queue setup and configuration APIs. > > These are mainly used for mailbox communication between drivers and > > control plane. > > > > Make use of the page pool support for managing controlq buffers. > > <...> > > > libeth-y := rx.o > > > > +obj-$(CONFIG_LIBETH_CP) += libeth_cp.o > > + > > +libeth_cp-y := controlq.o > > So why did you create separate module for it? > Now you have pci -> libeth -> libeth_cp -> ixd, with the potential races between ixd and libeth, am I right? >
I am not sure what kind of races do you mean, all libeth modules themselves are stateless and will stay this way [0], all used data is owned by drivers.
As for the module separation, I think there is no harm in keeping it modular. We intend to use basic libeth (libeth_rx) in drivers that for sure have no use for libeth_cp. libeth_pci and libeth_cp separation is more arbitral, as we have no plans for now to use them separately.
Module dependencies are as follows:
libeth_rx and libeth_pci do not depend on other modules. libeth_cp depends on both libeth_rx and libeth_pci. idpf directly uses libeth_pci, libeth_rx and libeth_cp. ixd directly uses libeth_cp and libeth_pci.
[0] https://lore.kernel.org/netdev/61bfa880-6a88-4eac-bab7-040bf72a11ef@intel.com/
> Thanks
|  |