2020-11-06 05:45:43

by Alex Shi

[permalink] [raw]
Subject: [PATCH] net/xdp: remove unused macro REG_STATE_NEW

To tame gcc warning on it:
net/core/xdp.c:20:0: warning: macro "REG_STATE_NEW" is not used
[-Wunused-macros]

Signed-off-by: Alex Shi <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: Alexei Starovoitov <[email protected]>
Cc: Daniel Borkmann <[email protected]>
Cc: Jesper Dangaard Brouer <[email protected]>
Cc: John Fastabend <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
net/core/xdp.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/net/core/xdp.c b/net/core/xdp.c
index 48aba933a5a8..3d88aab19c89 100644
--- a/net/core/xdp.c
+++ b/net/core/xdp.c
@@ -19,7 +19,6 @@
#include <trace/events/xdp.h>
#include <net/xdp_sock_drv.h>

-#define REG_STATE_NEW 0x0
#define REG_STATE_REGISTERED 0x1
#define REG_STATE_UNREGISTERED 0x2
#define REG_STATE_UNUSED 0x3
--
1.8.3.1


2020-11-06 16:15:54

by Jesper Dangaard Brouer

[permalink] [raw]
Subject: Re: [PATCH] net/xdp: remove unused macro REG_STATE_NEW

On Fri, 6 Nov 2020 13:43:51 +0800
Alex Shi <[email protected]> wrote:

> To tame gcc warning on it:
> net/core/xdp.c:20:0: warning: macro "REG_STATE_NEW" is not used
> [-Wunused-macros]

Hmm... REG_STATE_NEW is zero, so it is implicitly set via memset zero.
But it is true that it is technically not directly used or referenced.

It is mentioned in a comment, so please send V2 with this additional change:

$ git diff
diff --git a/net/core/xdp.c b/net/core/xdp.c
index 48aba933a5a8..6e1430971ac2 100644
--- a/net/core/xdp.c
+++ b/net/core/xdp.c
@@ -175,7 +175,7 @@ int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq,
return -ENODEV;
}

- /* State either UNREGISTERED or NEW */
+ /* State either UNREGISTERED or zero */
xdp_rxq_info_init(xdp_rxq);
xdp_rxq->dev = dev;
xdp_rxq->queue_index = queue_index;


> Signed-off-by: Alex Shi <[email protected]>
> Cc: "David S. Miller" <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: Alexei Starovoitov <[email protected]>
> Cc: Daniel Borkmann <[email protected]>
> Cc: Jesper Dangaard Brouer <[email protected]>
> Cc: John Fastabend <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> net/core/xdp.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/net/core/xdp.c b/net/core/xdp.c
> index 48aba933a5a8..3d88aab19c89 100644
> --- a/net/core/xdp.c
> +++ b/net/core/xdp.c
> @@ -19,7 +19,6 @@
> #include <trace/events/xdp.h>
> #include <net/xdp_sock_drv.h>
>
> -#define REG_STATE_NEW 0x0
> #define REG_STATE_REGISTERED 0x1
> #define REG_STATE_UNREGISTERED 0x2
> #define REG_STATE_UNUSED 0x3



--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer

2020-11-07 13:10:24

by Alex Shi

[permalink] [raw]
Subject: Re: [PATCH] net/xdp: remove unused macro REG_STATE_NEW



?? 2020/11/7 ????12:13, Jesper Dangaard Brouer д??:
> Hmm... REG_STATE_NEW is zero, so it is implicitly set via memset zero.
> But it is true that it is technically not directly used or referenced.
>
> It is mentioned in a comment, so please send V2 with this additional change:

Hi Jesper,

Thanks a lot for comments. here is the v2:

From 2908d25bf2e1c90ad71a83ba056743f45da283e8 Mon Sep 17 00:00:00 2001
From: Alex Shi <[email protected]>
Date: Fri, 6 Nov 2020 13:41:58 +0800
Subject: [PATCH v2] net/xdp: remove unused macro REG_STATE_NEW

To tame gcc warning on it:
net/core/xdp.c:20:0: warning: macro "REG_STATE_NEW" is not used
[-Wunused-macros]
And change related comments as Jesper Dangaard Brouer suggested.

Signed-off-by: Alex Shi <[email protected]>
---
net/core/xdp.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/net/core/xdp.c b/net/core/xdp.c
index 48aba933a5a8..0df5ee5682d9 100644
--- a/net/core/xdp.c
+++ b/net/core/xdp.c
@@ -19,7 +19,6 @@
#include <trace/events/xdp.h>
#include <net/xdp_sock_drv.h>

-#define REG_STATE_NEW 0x0
#define REG_STATE_REGISTERED 0x1
#define REG_STATE_UNREGISTERED 0x2
#define REG_STATE_UNUSED 0x3
@@ -175,7 +174,7 @@ int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq,
return -ENODEV;
}

- /* State either UNREGISTERED or NEW */
+ /* State either UNREGISTERED or zero */
xdp_rxq_info_init(xdp_rxq);
xdp_rxq->dev = dev;
xdp_rxq->queue_index = queue_index;
--
1.8.3.1

2020-11-09 21:46:44

by John Fastabend

[permalink] [raw]
Subject: Re: [PATCH] net/xdp: remove unused macro REG_STATE_NEW

Alex Shi wrote:
>
>
> 在 2020/11/7 上午12:13, Jesper Dangaard Brouer 写道:
> > Hmm... REG_STATE_NEW is zero, so it is implicitly set via memset zero.
> > But it is true that it is technically not directly used or referenced.
> >
> > It is mentioned in a comment, so please send V2 with this additional change:
>
> Hi Jesper,
>
> Thanks a lot for comments. here is the v2:
>
> From 2908d25bf2e1c90ad71a83ba056743f45da283e8 Mon Sep 17 00:00:00 2001
> From: Alex Shi <[email protected]>
> Date: Fri, 6 Nov 2020 13:41:58 +0800
> Subject: [PATCH v2] net/xdp: remove unused macro REG_STATE_NEW
>
> To tame gcc warning on it:
> net/core/xdp.c:20:0: warning: macro "REG_STATE_NEW" is not used
> [-Wunused-macros]
> And change related comments as Jesper Dangaard Brouer suggested.
>
> Signed-off-by: Alex Shi <[email protected]>
> ---

> net/core/xdp.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/net/core/xdp.c b/net/core/xdp.c
> index 48aba933a5a8..0df5ee5682d9 100644
> --- a/net/core/xdp.c
> +++ b/net/core/xdp.c
> @@ -19,7 +19,6 @@
> #include <trace/events/xdp.h>
> #include <net/xdp_sock_drv.h>
>
> -#define REG_STATE_NEW 0x0
> #define REG_STATE_REGISTERED 0x1
> #define REG_STATE_UNREGISTERED 0x2
> #define REG_STATE_UNUSED 0x3

I think having the define there makes it more readable and clear what
the zero state is. But if we run with unused-macros I guess its even
uglier to try and mark it with unused attribute.

Acked-by: John Fastabend <[email protected]>

> @@ -175,7 +174,7 @@ int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq,
> return -ENODEV;
> }
>
> - /* State either UNREGISTERED or NEW */
> + /* State either UNREGISTERED or zero */
> xdp_rxq_info_init(xdp_rxq);
> xdp_rxq->dev = dev;
> xdp_rxq->queue_index = queue_index;
> --
> 1.8.3.1
>


2020-11-10 11:45:05

by Jesper Dangaard Brouer

[permalink] [raw]
Subject: Re: [PATCH] net/xdp: remove unused macro REG_STATE_NEW

On Mon, 09 Nov 2020 13:44:48 -0800
John Fastabend <[email protected]> wrote:

> Alex Shi wrote:
> >
> >
> > 在 2020/11/7 上午12:13, Jesper Dangaard Brouer 写道:
> > > Hmm... REG_STATE_NEW is zero, so it is implicitly set via memset zero.
> > > But it is true that it is technically not directly used or referenced.
> > >
> > > It is mentioned in a comment, so please send V2 with this additional change:
> >
> > Hi Jesper,
> >
> > Thanks a lot for comments. here is the v2:
> >
> > From 2908d25bf2e1c90ad71a83ba056743f45da283e8 Mon Sep 17 00:00:00 2001
> > From: Alex Shi <[email protected]>
> > Date: Fri, 6 Nov 2020 13:41:58 +0800
> > Subject: [PATCH v2] net/xdp: remove unused macro REG_STATE_NEW
> >
> > To tame gcc warning on it:
> > net/core/xdp.c:20:0: warning: macro "REG_STATE_NEW" is not used
> > [-Wunused-macros]
> > And change related comments as Jesper Dangaard Brouer suggested.
> >
> > Signed-off-by: Alex Shi <[email protected]>
> > ---
>
> > net/core/xdp.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/net/core/xdp.c b/net/core/xdp.c
> > index 48aba933a5a8..0df5ee5682d9 100644
> > --- a/net/core/xdp.c
> > +++ b/net/core/xdp.c
> > @@ -19,7 +19,6 @@
> > #include <trace/events/xdp.h>
> > #include <net/xdp_sock_drv.h>
> >
> > -#define REG_STATE_NEW 0x0
> > #define REG_STATE_REGISTERED 0x1
> > #define REG_STATE_UNREGISTERED 0x2
> > #define REG_STATE_UNUSED 0x3
>
> I think having the define there makes it more readable and clear what
> the zero state is. But if we run with unused-macros I guess its even
> uglier to try and mark it with unused attribute.

I agree having the define there makes it more readable and clear what
the zero state is.

We can also add code that replace the comment, that check/use these
defines. It is slow-path code, so it doesn't hurt to add this extra
code. Generally I find it strange to "fix" these kind of warnings, but
also don't care that we do fix them if it helps someone else spot code
where it actually matters.

> Acked-by: John Fastabend <[email protected]>
>
> > @@ -175,7 +174,7 @@ int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq,
> > return -ENODEV;
> > }
> >
> > - /* State either UNREGISTERED or NEW */
> > + /* State either UNREGISTERED or zero */
> > xdp_rxq_info_init(xdp_rxq);
> > xdp_rxq->dev = dev;
> > xdp_rxq->queue_index = queue_index;
> > --
> > 1.8.3.1
> >
>
>



--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer