> > > + > > > +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