In net/Kconfig, NET_DEVLINK implies NET_DROP_MONITOR.
The original behavior of the 'imply' keyword prevents NET_DROP_MONITOR
from being 'm' when NET_DEVLINK=y.
With the planned Kconfig change that relaxes the 'imply', the
combination of NET_DEVLINK=y and NET_DROP_MONITOR=m would be allowed.
Use IS_REACHABLE() to avoid the vmlinux link error for this case.
Reported-by: Stephen Rothwell <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
---
This build error was reported in linux-next.
https://lkml.org/lkml/2020/3/10/1936
If this patch is acceptable,
I'd like to get Ack from the maintainers,
and insert this patch before my Kconfig change.
include/net/drop_monitor.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/net/drop_monitor.h b/include/net/drop_monitor.h
index 2ab668461463..f68bc373544a 100644
--- a/include/net/drop_monitor.h
+++ b/include/net/drop_monitor.h
@@ -19,7 +19,7 @@ struct net_dm_hw_metadata {
struct net_device *input_dev;
};
-#if IS_ENABLED(CONFIG_NET_DROP_MONITOR)
+#if IS_REACHABLE(CONFIG_NET_DROP_MONITOR)
void net_dm_hw_report(struct sk_buff *skb,
const struct net_dm_hw_metadata *hw_metadata);
#else
--
2.17.1
On Wed, Mar 11, 2020 at 03:29:25PM +0900, Masahiro Yamada wrote:
> In net/Kconfig, NET_DEVLINK implies NET_DROP_MONITOR.
>
> The original behavior of the 'imply' keyword prevents NET_DROP_MONITOR
> from being 'm' when NET_DEVLINK=y.
>
> With the planned Kconfig change that relaxes the 'imply', the
> combination of NET_DEVLINK=y and NET_DROP_MONITOR=m would be allowed.
>
> Use IS_REACHABLE() to avoid the vmlinux link error for this case.
>
> Reported-by: Stephen Rothwell <[email protected]>
> Signed-off-by: Masahiro Yamada <[email protected]>
Thanks, Masahiro.
Neil, Jiri, another option (long term) is to add a raw tracepoint (not
part of ABI) in devlink and have drop monitor register its probe on it
when monitoring.
Two advantages:
1. Consistent with what drop monitor is already doing with kfree_skb()
tracepoint
2. We can remove 'imply NET_DROP_MONITOR' altogether
What do you think?
On Wed, Mar 11, 2020 at 11:31:43AM +0200, Ido Schimmel wrote:
> On Wed, Mar 11, 2020 at 03:29:25PM +0900, Masahiro Yamada wrote:
> > In net/Kconfig, NET_DEVLINK implies NET_DROP_MONITOR.
> >
> > The original behavior of the 'imply' keyword prevents NET_DROP_MONITOR
> > from being 'm' when NET_DEVLINK=y.
> >
> > With the planned Kconfig change that relaxes the 'imply', the
> > combination of NET_DEVLINK=y and NET_DROP_MONITOR=m would be allowed.
> >
> > Use IS_REACHABLE() to avoid the vmlinux link error for this case.
> >
> > Reported-by: Stephen Rothwell <[email protected]>
> > Signed-off-by: Masahiro Yamada <[email protected]>
>
> Thanks, Masahiro.
>
> Neil, Jiri, another option (long term) is to add a raw tracepoint (not
> part of ABI) in devlink and have drop monitor register its probe on it
> when monitoring.
>
> Two advantages:
> 1. Consistent with what drop monitor is already doing with kfree_skb()
> tracepoint
> 2. We can remove 'imply NET_DROP_MONITOR' altogether
>
> What do you think?
>
Agreed, I think I like this implementation better.
Neil
On Wed, Mar 11, 2020 at 06:47:56AM -0400, Neil Horman wrote:
> On Wed, Mar 11, 2020 at 11:31:43AM +0200, Ido Schimmel wrote:
> > On Wed, Mar 11, 2020 at 03:29:25PM +0900, Masahiro Yamada wrote:
> > > In net/Kconfig, NET_DEVLINK implies NET_DROP_MONITOR.
> > >
> > > The original behavior of the 'imply' keyword prevents NET_DROP_MONITOR
> > > from being 'm' when NET_DEVLINK=y.
> > >
> > > With the planned Kconfig change that relaxes the 'imply', the
> > > combination of NET_DEVLINK=y and NET_DROP_MONITOR=m would be allowed.
> > >
> > > Use IS_REACHABLE() to avoid the vmlinux link error for this case.
> > >
> > > Reported-by: Stephen Rothwell <[email protected]>
> > > Signed-off-by: Masahiro Yamada <[email protected]>
> >
> > Thanks, Masahiro.
> >
> > Neil, Jiri, another option (long term) is to add a raw tracepoint (not
> > part of ABI) in devlink and have drop monitor register its probe on it
> > when monitoring.
> >
> > Two advantages:
> > 1. Consistent with what drop monitor is already doing with kfree_skb()
> > tracepoint
> > 2. We can remove 'imply NET_DROP_MONITOR' altogether
> >
> > What do you think?
> >
> Agreed, I think I like this implementation better.
OK, but I don't want to block Masahiro. I think we can go with his patch
and then I'll add the raw tracepoint in the next release.
On Wed, Mar 11, 2020 at 01:28:33PM +0200, Ido Schimmel wrote:
> On Wed, Mar 11, 2020 at 06:47:56AM -0400, Neil Horman wrote:
> > On Wed, Mar 11, 2020 at 11:31:43AM +0200, Ido Schimmel wrote:
> > > On Wed, Mar 11, 2020 at 03:29:25PM +0900, Masahiro Yamada wrote:
> > > > In net/Kconfig, NET_DEVLINK implies NET_DROP_MONITOR.
> > > >
> > > > The original behavior of the 'imply' keyword prevents NET_DROP_MONITOR
> > > > from being 'm' when NET_DEVLINK=y.
> > > >
> > > > With the planned Kconfig change that relaxes the 'imply', the
> > > > combination of NET_DEVLINK=y and NET_DROP_MONITOR=m would be allowed.
> > > >
> > > > Use IS_REACHABLE() to avoid the vmlinux link error for this case.
> > > >
> > > > Reported-by: Stephen Rothwell <[email protected]>
> > > > Signed-off-by: Masahiro Yamada <[email protected]>
> > >
> > > Thanks, Masahiro.
> > >
> > > Neil, Jiri, another option (long term) is to add a raw tracepoint (not
> > > part of ABI) in devlink and have drop monitor register its probe on it
> > > when monitoring.
> > >
> > > Two advantages:
> > > 1. Consistent with what drop monitor is already doing with kfree_skb()
> > > tracepoint
> > > 2. We can remove 'imply NET_DROP_MONITOR' altogether
> > >
> > > What do you think?
> > >
> > Agreed, I think I like this implementation better.
>
> OK, but I don't want to block Masahiro. I think we can go with his patch
> and then I'll add the raw tracepoint in the next release.
>
Yeah, ok, I can agree with that
Acked-by: Neil Horman <[email protected]>
On Thu, Mar 12, 2020 at 2:31 AM Neil Horman <[email protected]> wrote:
>
> On Wed, Mar 11, 2020 at 01:28:33PM +0200, Ido Schimmel wrote:
> > On Wed, Mar 11, 2020 at 06:47:56AM -0400, Neil Horman wrote:
> > > On Wed, Mar 11, 2020 at 11:31:43AM +0200, Ido Schimmel wrote:
> > > > On Wed, Mar 11, 2020 at 03:29:25PM +0900, Masahiro Yamada wrote:
> > > > > In net/Kconfig, NET_DEVLINK implies NET_DROP_MONITOR.
> > > > >
> > > > > The original behavior of the 'imply' keyword prevents NET_DROP_MONITOR
> > > > > from being 'm' when NET_DEVLINK=y.
> > > > >
> > > > > With the planned Kconfig change that relaxes the 'imply', the
> > > > > combination of NET_DEVLINK=y and NET_DROP_MONITOR=m would be allowed.
> > > > >
> > > > > Use IS_REACHABLE() to avoid the vmlinux link error for this case.
> > > > >
> > > > > Reported-by: Stephen Rothwell <[email protected]>
> > > > > Signed-off-by: Masahiro Yamada <[email protected]>
> > > >
> > > > Thanks, Masahiro.
> > > >
> > > > Neil, Jiri, another option (long term) is to add a raw tracepoint (not
> > > > part of ABI) in devlink and have drop monitor register its probe on it
> > > > when monitoring.
> > > >
> > > > Two advantages:
> > > > 1. Consistent with what drop monitor is already doing with kfree_skb()
> > > > tracepoint
> > > > 2. We can remove 'imply NET_DROP_MONITOR' altogether
> > > >
> > > > What do you think?
> > > >
> > > Agreed, I think I like this implementation better.
> >
> > OK, but I don't want to block Masahiro. I think we can go with his patch
> > and then I'll add the raw tracepoint in the next release.
> >
> Yeah, ok, I can agree with that
> Acked-by: Neil Horman <[email protected]>
Thanks, I will insert this patch before the kconfig change
with your Ack.
--
Best Regards
Masahiro Yamada