[dpdk-dev] [PATCH 4/7] eal: support different modules

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Jun 3 18:36:52 CEST 2013


03/06/2013 17:41, Stephen Hemminger :
> On Mon, 03 Jun 2013 10:58:01 +0200
> Damien Millescamps <damien.millescamps at 6wind.com> wrote:
> > > 
> > > --- a/lib/librte_eal/common/include/rte_pci.h	2013-05-29
> > > 08:45:38.000000000 -0700 +++
> > > b/lib/librte_eal/common/include/rte_pci.h	2013-05-29
> > > 09:02:50.000000000 -0700 @@ -151,12 +151,11 @@ struct rte_pci_driver {
> > > 
> > >  	pci_devinit_t *devinit;                 /**< Device init. function.
> > >  	*/ struct rte_pci_id *id_table;            /**< ID table, NULL
> > >  	terminated. */ uint32_t drv_flags;                     /**< Flags
> > >  	contolling handling of device. */
> > > 
> > > +	const char *module_name;		/**< Associated kernel module */
> > 
> > You solution only permits for one module to be checked during
> > initialization, while the former solution using flags could be easily
> > extended to check for more than one module.
> > However it is true that there is a problem with this module check since
> > it is historically hard-coded for "igb_uio".
> 
> It is one module per driver which works quite well.
> The code identifies the module to load based on the PCI id.

There are cases where we need more than one kernel module for 2 reasons:
	- in this case, igb_uio is built and inserted without dependency on uio
	- some other PMDs/NICs, several modules without dependency links could be 
needed

Please could you refactor your patch accordingly ?
Thanks
-- 
Thomas


More information about the dev mailing list