* [PATCH] bnxt: fix building without CONFIG_RFS_ACCEL
@ 2024-01-03 10:23 Arnd Bergmann
2024-01-03 15:46 ` Andy Gospodarek
0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2024-01-03 10:23 UTC (permalink / raw)
To: Michael Chan
Cc: Arnd Bergmann, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Andy Gospodarek, Pavan Chebbi, Somnath Kotur,
Kalesh AP, Randy Schacher, Vasundhara Volam, netdev, linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
A recent patch series generalized the filter logic in bnxt to no
longer just be used for RFS, but it now fails to build when RFS_ACCEL
is disabled:
drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_cfg_ntp_filters':
drivers/net/ethernet/broadcom/bnxt/bnxt.c:14077:37: error: implicit declaration of function 'rps_may_expire_flow' [-Werror=implicit-function-declaration]
14077 | if (rps_may_expire_flow(bp->dev, fltr->base.rxq,
| ^~~~~~~~~~~~~~~~~~~
Add back one #ifdef check around a call to the missing rps_may_expire_flow()
function.
Fixes: 59cde76f33fa ("bnxt_en: Refactor filter insertion logic in bnxt_rx_flow_steer().")
Cc: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I don't know if this is a correct fix, only checked that it is plausible
and that it does address the build failure. If a different fix is needed,
please just treat this as a bug report.
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 827821e89c40..83a97c65b728 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -14074,6 +14074,7 @@ static void bnxt_cfg_ntp_filters(struct bnxt *bp)
if (test_bit(BNXT_FLTR_VALID, &fltr->base.state)) {
if (fltr->base.flags & BNXT_ACT_NO_AGING)
continue;
+#if IS_ENABLED(CONFIG_RFS_ACCEL)
if (rps_may_expire_flow(bp->dev, fltr->base.rxq,
fltr->flow_id,
fltr->base.sw_id)) {
@@ -14081,6 +14082,7 @@ static void bnxt_cfg_ntp_filters(struct bnxt *bp)
fltr);
del = true;
}
+#endif
} else {
rc = bnxt_hwrm_cfa_ntuple_filter_alloc(bp,
fltr);
--
2.39.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] bnxt: fix building without CONFIG_RFS_ACCEL
2024-01-03 10:23 [PATCH] bnxt: fix building without CONFIG_RFS_ACCEL Arnd Bergmann
@ 2024-01-03 15:46 ` Andy Gospodarek
2024-01-03 16:01 ` Arnd Bergmann
0 siblings, 1 reply; 4+ messages in thread
From: Andy Gospodarek @ 2024-01-03 15:46 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Michael Chan, Arnd Bergmann, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Andy Gospodarek, Pavan Chebbi,
Somnath Kotur, Kalesh AP, Randy Schacher, Vasundhara Volam,
netdev, linux-kernel
On Wed, Jan 03, 2024 at 11:23:11AM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> A recent patch series generalized the filter logic in bnxt to no
> longer just be used for RFS, but it now fails to build when RFS_ACCEL
> is disabled:
>
> drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_cfg_ntp_filters':
> drivers/net/ethernet/broadcom/bnxt/bnxt.c:14077:37: error: implicit declaration of function 'rps_may_expire_flow' [-Werror=implicit-function-declaration]
> 14077 | if (rps_may_expire_flow(bp->dev, fltr->base.rxq,
> | ^~~~~~~~~~~~~~~~~~~
>
> Add back one #ifdef check around a call to the missing rps_may_expire_flow()
> function.
>
> Fixes: 59cde76f33fa ("bnxt_en: Refactor filter insertion logic in bnxt_rx_flow_steer().")
> Cc: Michael Chan <michael.chan@broadcom.com>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> I don't know if this is a correct fix, only checked that it is plausible
> and that it does address the build failure. If a different fix is needed,
> please just treat this as a bug report.
Are you using a kernel config with CONFIG_SMP=n ? That was how I was
able to reproduce this.
There is a good oppportunity to clean this up a little better. When
CONFIG_RFS_ACCEL is not set there is no reason to even have
bnxt_cfg_ntp_filters included in the driver build.
I'll talk to Michael and we will post a fix for this.
> ---
> drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> index 827821e89c40..83a97c65b728 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> @@ -14074,6 +14074,7 @@ static void bnxt_cfg_ntp_filters(struct bnxt *bp)
> if (test_bit(BNXT_FLTR_VALID, &fltr->base.state)) {
> if (fltr->base.flags & BNXT_ACT_NO_AGING)
> continue;
> +#if IS_ENABLED(CONFIG_RFS_ACCEL)
> if (rps_may_expire_flow(bp->dev, fltr->base.rxq,
> fltr->flow_id,
> fltr->base.sw_id)) {
> @@ -14081,6 +14082,7 @@ static void bnxt_cfg_ntp_filters(struct bnxt *bp)
> fltr);
> del = true;
> }
> +#endif
> } else {
> rc = bnxt_hwrm_cfa_ntuple_filter_alloc(bp,
> fltr);
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] bnxt: fix building without CONFIG_RFS_ACCEL
2024-01-03 15:46 ` Andy Gospodarek
@ 2024-01-03 16:01 ` Arnd Bergmann
2024-01-03 16:56 ` Michael Chan
0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2024-01-03 16:01 UTC (permalink / raw)
To: Andy Gospodarek, Arnd Bergmann
Cc: Michael Chan, David S . Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Pavan Chebbi, Somnath Kotur, Kalesh AP,
Randy Schacher, Vasundhara Volam, Netdev, linux-kernel
On Wed, Jan 3, 2024, at 16:46, Andy Gospodarek wrote:
> On Wed, Jan 03, 2024 at 11:23:11AM +0100, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> A recent patch series generalized the filter logic in bnxt to no
>> longer just be used for RFS, but it now fails to build when RFS_ACCEL
>> is disabled:
>>
>> drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_cfg_ntp_filters':
>> drivers/net/ethernet/broadcom/bnxt/bnxt.c:14077:37: error: implicit declaration of function 'rps_may_expire_flow' [-Werror=implicit-function-declaration]
>> 14077 | if (rps_may_expire_flow(bp->dev, fltr->base.rxq,
>> | ^~~~~~~~~~~~~~~~~~~
>>
>> Add back one #ifdef check around a call to the missing rps_may_expire_flow()
>> function.
>>
>> Fixes: 59cde76f33fa ("bnxt_en: Refactor filter insertion logic in bnxt_rx_flow_steer().")
>> Cc: Michael Chan <michael.chan@broadcom.com>
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>> I don't know if this is a correct fix, only checked that it is plausible
>> and that it does address the build failure. If a different fix is needed,
>> please just treat this as a bug report.
>
> Are you using a kernel config with CONFIG_SMP=n ? That was how I was
> able to reproduce this.
I saw this in two randconfig test builds on 32-bit arm, both with
SMP disabled, though I did not expect that to make a difference.
In case it helps, this is one of the two config files:
https://pastebin.com/raw/uxHEXzG2
> There is a good oppportunity to clean this up a little better. When
> CONFIG_RFS_ACCEL is not set there is no reason to even have
> bnxt_cfg_ntp_filters included in the driver build.
>
> I'll talk to Michael and we will post a fix for this.
Ok, thanks!
Arnd
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] bnxt: fix building without CONFIG_RFS_ACCEL
2024-01-03 16:01 ` Arnd Bergmann
@ 2024-01-03 16:56 ` Michael Chan
0 siblings, 0 replies; 4+ messages in thread
From: Michael Chan @ 2024-01-03 16:56 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Andy Gospodarek, Arnd Bergmann, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Pavan Chebbi, Somnath Kotur,
Kalesh AP, Randy Schacher, Vasundhara Volam, Netdev, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 608 bytes --]
On Wed, Jan 3, 2024 at 8:01 AM Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Wed, Jan 3, 2024, at 16:46, Andy Gospodarek wrote:
> > There is a good oppportunity to clean this up a little better. When
> > CONFIG_RFS_ACCEL is not set there is no reason to even have
> > bnxt_cfg_ntp_filters included in the driver build.
> >
> > I'll talk to Michael and we will post a fix for this.
>
> Ok, thanks!
Yes, we can clean this up better. User configured ntuple filters are
directly added and don't go through bnxt_cfg_ntp_filters() by way of
the workqueue. I'll post the fix later today. Thanks.
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-01-03 16:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-03 10:23 [PATCH] bnxt: fix building without CONFIG_RFS_ACCEL Arnd Bergmann
2024-01-03 15:46 ` Andy Gospodarek
2024-01-03 16:01 ` Arnd Bergmann
2024-01-03 16:56 ` Michael Chan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).