When 'RTE_ENABLE_ASSERT' is enabled (meson -Dc_args=-DRTE_ENABLE_ASSERT) build fails: ../drivers/net/sfc/sfc_repr.c: In function ‘sfc_repr_start’: ../drivers/net/sfc/sfc_repr.c:251:20: warning: implicit declaration of function ‘sfc_repr_lock_is_locked’; did you mean ‘rte_spinlock_is_locked’? [-Wimplicit-function-declaration] 251 | SFC_ASSERT(sfc_repr_lock_is_locked(sr)); | ^~~~~~~~~~~~~~~~~~~~~~~ Fixes: c85675423f01 ("net/sfc: implement port representor start and stop") Reported-by: Raslan Darawsheh <rasland@nvidia.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> --- Cc: igor.romanov@oktetlabs.ru The patch that cause the build error is still in next-net, if the patch is good it can be squashed into the relevant patch in next-net. --- drivers/net/sfc/sfc_repr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/sfc/sfc_repr.c b/drivers/net/sfc/sfc_repr.c index 6ec83873abd1..02131ce3675d 100644 --- a/drivers/net/sfc/sfc_repr.c +++ b/drivers/net/sfc/sfc_repr.c @@ -248,7 +248,9 @@ sfc_repr_start(struct rte_eth_dev *dev) sfcr_info(sr, "entry"); +#ifdef RTE_LIBRTE_SFC_EFX_DEBUG SFC_ASSERT(sfc_repr_lock_is_locked(sr)); +#endif switch (sr->state) { case SFC_ETHDEV_CONFIGURED: @@ -319,7 +321,9 @@ sfc_repr_stop(struct rte_eth_dev *dev) sfcr_info(sr, "entry"); +#ifdef RTE_LIBRTE_SFC_EFX_DEBUG SFC_ASSERT(sfc_repr_lock_is_locked(sr)); +#endif switch (sr->state) { case SFC_ETHDEV_STARTED: @@ -477,7 +481,9 @@ sfc_repr_configure(struct sfc_repr *sr, uint16_t nb_rx_queues, sfcr_info(sr, "entry"); +#ifdef RTE_LIBRTE_SFC_EFX_DEBUG SFC_ASSERT(sfc_repr_lock_is_locked(sr)); +#endif ret = sfc_repr_check_conf(sr, nb_rx_queues, conf); if (ret != 0) @@ -786,7 +792,9 @@ sfc_repr_tx_queue_release(struct rte_eth_dev *dev, uint16_t tx_queue_id) static void sfc_repr_close(struct sfc_repr *sr) { +#ifdef RTE_LIBRTE_SFC_EFX_DEBUG SFC_ASSERT(sfc_repr_lock_is_locked(sr)); +#endif SFC_ASSERT(sr->state == SFC_ETHDEV_CONFIGURED); sr->state = SFC_ETHDEV_CLOSING; -- 2.31.1
When 'RTE_ENABLE_ASSERT' is enabled (meson -Dc_args=-DRTE_ENABLE_ASSERT) build fails: ../drivers/net/sfc/sfc_repr.c: In function ‘sfc_repr_start’: ../drivers/net/sfc/sfc_repr.c:251:20: warning: implicit declaration of function ‘sfc_repr_lock_is_locked’; did you mean ‘rte_spinlock_is_locked’? [-Wimplicit-function-declaration] 251 | SFC_ASSERT(sfc_repr_lock_is_locked(sr)); | ^~~~~~~~~~~~~~~~~~~~~~~ Fixes: c85675423f01 ("net/sfc: implement port representor start and stop") Reported-by: Raslan Darawsheh <rasland@nvidia.com> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- drivers/net/sfc/sfc_repr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/sfc/sfc_repr.c b/drivers/net/sfc/sfc_repr.c index 6ec83873ab..2500b14cb0 100644 --- a/drivers/net/sfc/sfc_repr.c +++ b/drivers/net/sfc/sfc_repr.c @@ -116,7 +116,7 @@ sfc_repr_lock_init(struct sfc_repr *sr) rte_spinlock_init(&sr->lock); } -#ifdef RTE_LIBRTE_SFC_EFX_DEBUG +#if defined(RTE_LIBRTE_SFC_EFX_DEBUG) || defined(RTE_ENABLE_ASSERT) static inline int sfc_repr_lock_is_locked(struct sfc_repr *sr) -- 2.30.2
On 10/13/21 6:20 PM, Ferruh Yigit wrote:
> When 'RTE_ENABLE_ASSERT' is enabled (meson -Dc_args=-DRTE_ENABLE_ASSERT)
> build fails:
> ../drivers/net/sfc/sfc_repr.c: In function ‘sfc_repr_start’:
> ../drivers/net/sfc/sfc_repr.c:251:20:
> warning: implicit declaration of function ‘sfc_repr_lock_is_locked’;
> did you mean ‘rte_spinlock_is_locked’?
> [-Wimplicit-function-declaration]
> 251 | SFC_ASSERT(sfc_repr_lock_is_locked(sr));
> | ^~~~~~~~~~~~~~~~~~~~~~~
>
> Fixes: c85675423f01 ("net/sfc: implement port representor start and stop")
>
> Reported-by: Raslan Darawsheh <rasland@nvidia.com>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
I'm sorry for the breakage. I've sent v2 which avoid usage of
conditional compilation in function body. I'd prefer to fix
the problem this way. Yes, it is a bit less straight-forward,
but still preferable.
Andrew.
On 10/13/2021 5:35 PM, Andrew Rybchenko wrote:
> On 10/13/21 6:20 PM, Ferruh Yigit wrote:
>> When 'RTE_ENABLE_ASSERT' is enabled (meson -Dc_args=-DRTE_ENABLE_ASSERT)
>> build fails:
>> ../drivers/net/sfc/sfc_repr.c: In function ‘sfc_repr_start’:
>> ../drivers/net/sfc/sfc_repr.c:251:20:
>> warning: implicit declaration of function ‘sfc_repr_lock_is_locked’;
>> did you mean ‘rte_spinlock_is_locked’?
>> [-Wimplicit-function-declaration]
>> 251 | SFC_ASSERT(sfc_repr_lock_is_locked(sr));
>> | ^~~~~~~~~~~~~~~~~~~~~~~
>>
>> Fixes: c85675423f01 ("net/sfc: implement port representor start and stop")
>>
>> Reported-by: Raslan Darawsheh <rasland@nvidia.com>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>
> I'm sorry for the breakage. I've sent v2 which avoid usage of
> conditional compilation in function body. I'd prefer to fix
> the problem this way. Yes, it is a bit less straight-forward,
> but still preferable.
>
ack, agreed that v2 looks better, I will test and squash it.
On 10/13/2021 5:32 PM, Andrew Rybchenko wrote:
> When 'RTE_ENABLE_ASSERT' is enabled (meson -Dc_args=-DRTE_ENABLE_ASSERT)
> build fails:
> ../drivers/net/sfc/sfc_repr.c: In function ‘sfc_repr_start’:
> ../drivers/net/sfc/sfc_repr.c:251:20:
> warning: implicit declaration of function ‘sfc_repr_lock_is_locked’;
> did you mean ‘rte_spinlock_is_locked’?
> [-Wimplicit-function-declaration]
> 251 | SFC_ASSERT(sfc_repr_lock_is_locked(sr));
> | ^~~~~~~~~~~~~~~~~~~~~~~
>
> Fixes: c85675423f01 ("net/sfc: implement port representor start and stop")
>
> Reported-by: Raslan Darawsheh <rasland@nvidia.com>
> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Squashed into relevant commit [1] in next-net, thanks.
[1]
net/sfc: add port representors infrastructure