Re: [PATCH v4 1/4] ethdev: add apis to support access device info
flat view
From: Ananyev, Konstantin <hidden>
Date: 2015-06-11 13:14:24
quoted
quoted
+ +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);quoted
+ 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