On Wed, Jul 7, 2021 at 11:54 AM Huisong Li <lihuis...@huawei.com> wrote: > > Currently, if dev_configure is not called or fails to be called, users > can still call dev_start successfully. So it is necessary to have a flag > which indicates whether the device is configured, to control whether > dev_start can be called and eliminate dependency on user invocation order. > > The flag stored in "struct rte_eth_dev_data" is more reasonable than > "enum rte_eth_dev_state". "enum rte_eth_dev_state" is private to the > primary and secondary processes, and can be independently controlled. > However, the secondary process does not make resource allocations and > does not call dev_configure(). These are done by the primary process > and can be obtained or used by the secondary process. So this patch > adds a "dev_configured" flag in "rte_eth_dev_data", like "dev_started". > > Signed-off-by: Huisong Li <lihuis...@huawei.com> > Reviewed-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> > Acked-by: Konstantin Ananyev <konstantin.anan...@intel.com>
As explained in the thread, I added a rather "large" ABI exception rule so that we can merge this patch. +; Ignore all changes to rte_eth_dev_data +; Note: we only cared about dev_configured bit addition, but libabigail +; seems to wrongly compute bitfields offset. +; https://sourceware.org/bugzilla/show_bug.cgi?id=28060 +[suppress_type] + name = rte_eth_dev_data *Reminder to ethdev maintainers*: with this exception, we have no check on rte_eth_dev_data struct changes until 21.11. Applied, thanks. -- David Marchand