[dpdk-dev] [PATCH v4 1/4] ethdev: add apis to support access device info

Wang, Liang-min liang-min.wang at intel.com
Thu Jun 11 15:25:23 CEST 2015



> -----Original Message-----
> From: Ananyev, Konstantin
> Sent: Thursday, June 11, 2015 9:14 AM
> To: Wang, Liang-min; dev at dpdk.org
> Subject: RE: [dpdk-dev] [PATCH v4 1/4] ethdev: add apis to support access
> device info
> 
> 
> > > > +
> > > > +int
> > > > +rte_eth_dev_set_ringparam(uint8_t port_id, struct
> > > > +rte_dev_ring_info
> > > > +*info) {
> > > > +	struct rte_eth_dev *dev;
> > > > +
> > > > +	if (!rte_eth_dev_is_valid_port(port_id)) {
> > > > +		PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
> > > > +		return -ENODEV;
> > > > +	}
> > > > +
> > > > +	if ((dev= &rte_eth_devices[port_id]) == NULL) {
> > > > +		PMD_DEBUG_TRACE("Invalid port device\n");
> > > > +		return -ENODEV;
> > > > +	}
> > > > +
> > > > +	FUNC_PTR_OR_ERR_RET(*dev->dev_ops->set_ringparam, -
> > > ENOTSUP);
> > > > +	return (*dev->dev_ops->set_ringparam)(dev, info); }
> > >
> > >
> > > I am a bit confused, what particular value of rte_dev_ring_info will
> > > be allowed to change?
> > > You can't change number of RXD/TXD at runtime.
> > > You have to stop the device first, and then reconfigure particular
> queue(s).
> > > Again, you can't reset RXF/TXD without stopping RX/TX first.
> > > So what that function is supposed to do?
> > > As I can see currently, none of the PMD in your patch support it.
> > >
> >
> > Exactly, setting RXD/TXD will require some change on kernel (RX/TX burst)
> function.
> > As you already observe that there is no dev_op registered for set_ring.
> > The API is created as a placeholder for future implementation.
> > There are a couple of idea thrown around (such as mono-
> increase/decrease to avoid buffer overrun).
> > Any suggestion is welcome.
> 
> If you don't plan to implement it in current patch-set, then it is better to
> remove it for now.
> About suggestions - as I said, I don't think it is doable without stopping (and
> reconfiguring) the queue.
> Again not sure, why do you want to do that run-tme.
> Konstantin

That's a very valid point. To support run-time ring descriptor size adjustment, we need to stop traffic in some way.


More information about the dev mailing list