2021-04-30 09:54:11

by Oleksij Rempel

[permalink] [raw]
Subject: [PATCH net-next v1 1/1] net: selftest: provide option to disable generic selftests

Some systems may need to disable selftests to reduce kernel size or for
some policy reasons. This patch provide option to disable generic selftests.

Reported-by: Geert Uytterhoeven <[email protected]>
Fixes: 3e1e58d64c3d ("net: add generic selftest support")
Signed-off-by: Oleksij Rempel <[email protected]>
---
net/Kconfig | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/net/Kconfig b/net/Kconfig
index f5ee7c65e6b4..dac98c73fcd8 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -431,7 +431,12 @@ config SOCK_VALIDATE_XMIT

config NET_SELFTESTS
def_tristate PHYLIB
+ prompt "Support for generic selftests"
depends on PHYLIB && INET
+ help
+ These selftests are build automatically if any driver with generic
+ selftests support is enabled. This option can be used to disable
+ selftests to reduce kernel size.

config NET_SOCK_MSG
bool
--
2.29.2


2021-04-30 15:16:08

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH net-next v1 1/1] net: selftest: provide option to disable generic selftests

On 4/30/21 2:53 AM, Oleksij Rempel wrote:
> Some systems may need to disable selftests to reduce kernel size or for
> some policy reasons. This patch provide option to disable generic selftests.
>
> Reported-by: Geert Uytterhoeven <[email protected]>
> Fixes: 3e1e58d64c3d ("net: add generic selftest support")
> Signed-off-by: Oleksij Rempel <[email protected]>
> ---
> net/Kconfig | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/net/Kconfig b/net/Kconfig
> index f5ee7c65e6b4..dac98c73fcd8 100644
> --- a/net/Kconfig
> +++ b/net/Kconfig
> @@ -431,7 +431,12 @@ config SOCK_VALIDATE_XMIT
>
> config NET_SELFTESTS
> def_tristate PHYLIB
> + prompt "Support for generic selftests"
> depends on PHYLIB && INET
> + help
> + These selftests are build automatically if any driver with generic

built

> + selftests support is enabled. This option can be used to disable
> + selftests to reduce kernel size.
>
> config NET_SOCK_MSG
> bool
>

Thanks for the patch/option. But I think it should just default to n,
not PHYLIB.

--
~Randy

2021-04-30 15:43:50

by Oleksij Rempel

[permalink] [raw]
Subject: Re: [PATCH net-next v1 1/1] net: selftest: provide option to disable generic selftests

On Fri, Apr 30, 2021 at 08:13:12AM -0700, Randy Dunlap wrote:
> On 4/30/21 2:53 AM, Oleksij Rempel wrote:
> > Some systems may need to disable selftests to reduce kernel size or for
> > some policy reasons. This patch provide option to disable generic selftests.
> >
> > Reported-by: Geert Uytterhoeven <[email protected]>
> > Fixes: 3e1e58d64c3d ("net: add generic selftest support")
> > Signed-off-by: Oleksij Rempel <[email protected]>
> > ---
> > net/Kconfig | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/net/Kconfig b/net/Kconfig
> > index f5ee7c65e6b4..dac98c73fcd8 100644
> > --- a/net/Kconfig
> > +++ b/net/Kconfig
> > @@ -431,7 +431,12 @@ config SOCK_VALIDATE_XMIT
> >
> > config NET_SELFTESTS
> > def_tristate PHYLIB
> > + prompt "Support for generic selftests"
> > depends on PHYLIB && INET
> > + help
> > + These selftests are build automatically if any driver with generic
>
> built
>
> > + selftests support is enabled. This option can be used to disable
> > + selftests to reduce kernel size.
> >
> > config NET_SOCK_MSG
> > bool
> >
>
> Thanks for the patch/option. But I think it should just default to n,
> not PHYLIB.

It should be enabled by default for every device supporting this kind of
selftests. This tests extend functionality of cable tests, which are not
optional. Disabling it by default makes even less sense, at least for
me.

It depends on PHYLIB, if PHYLIB is build as module, this
this part should be build as module too. And since Geert asking to make
it optional, I provided this patch.

Regards,
Oleksij
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2021-04-30 16:24:20

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH net-next v1 1/1] net: selftest: provide option to disable generic selftests

> > Thanks for the patch/option. But I think it should just default to n,
> > not PHYLIB.
>
> It should be enabled by default for every device supporting this kind of
> selftests.

I agree.

I still wonder if there is confusion about self test here. Maybe
putting ethtool into the description will help people understand it
has nothing to do with the kernel self test infrastructure and kernel
self testing.

Andrew

2021-04-30 16:27:06

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH net-next v1 1/1] net: selftest: provide option to disable generic selftests

Hi Oleksij,

On Fri, Apr 30, 2021 at 5:42 PM Oleksij Rempel <[email protected]> wrote:
> On Fri, Apr 30, 2021 at 08:13:12AM -0700, Randy Dunlap wrote:
> > On 4/30/21 2:53 AM, Oleksij Rempel wrote:
> > > Some systems may need to disable selftests to reduce kernel size or for
> > > some policy reasons. This patch provide option to disable generic selftests.
> > >
> > > Reported-by: Geert Uytterhoeven <[email protected]>
> > > Fixes: 3e1e58d64c3d ("net: add generic selftest support")
> > > Signed-off-by: Oleksij Rempel <[email protected]>
> > > ---
> > > net/Kconfig | 5 +++++
> > > 1 file changed, 5 insertions(+)
> > >
> > > diff --git a/net/Kconfig b/net/Kconfig
> > > index f5ee7c65e6b4..dac98c73fcd8 100644
> > > --- a/net/Kconfig
> > > +++ b/net/Kconfig
> > > @@ -431,7 +431,12 @@ config SOCK_VALIDATE_XMIT
> > >
> > > config NET_SELFTESTS
> > > def_tristate PHYLIB
> > > + prompt "Support for generic selftests"
> > > depends on PHYLIB && INET
> > > + help
> > > + These selftests are build automatically if any driver with generic
> >
> > built
> >
> > > + selftests support is enabled. This option can be used to disable
> > > + selftests to reduce kernel size.
> > >
> > > config NET_SOCK_MSG
> > > bool
> > >
> >
> > Thanks for the patch/option. But I think it should just default to n,
> > not PHYLIB.
>
> It should be enabled by default for every device supporting this kind of
> selftests. This tests extend functionality of cable tests, which are not
> optional. Disabling it by default makes even less sense, at least for
> me.

Drivers using it ( AG71XX, FEC, NET_DSA) already select it, right?
Or better, imply it, which assumes it's optional.

> It depends on PHYLIB, if PHYLIB is build as module, this
> this part should be build as module too. And since Geert asking to make
> it optional, I provided this patch.

Gr{oetje,eeting}s,

Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2021-04-30 16:37:05

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH net-next v1 1/1] net: selftest: provide option to disable generic selftests

On 4/30/21 9:23 AM, Andrew Lunn wrote:
>>> Thanks for the patch/option. But I think it should just default to n,
>>> not PHYLIB.
>>
>> It should be enabled by default for every device supporting this kind of
>> selftests.
>
> I agree.
>
> I still wonder if there is confusion about self test here. Maybe

Probably.

> putting ethtool into the description will help people understand it
> has nothing to do with the kernel self test infrastructure and kernel
> self testing.

So it's a hardware check that is required to be run if it's implemented
in a driver?

Required by who/what?

thanks.
--
~Randy

2021-04-30 16:57:38

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH net-next v1 1/1] net: selftest: provide option to disable generic selftests

On Fri, Apr 30, 2021 at 09:33:42AM -0700, Randy Dunlap wrote:
> On 4/30/21 9:23 AM, Andrew Lunn wrote:
> >>> Thanks for the patch/option. But I think it should just default to n,
> >>> not PHYLIB.
> >>
> >> It should be enabled by default for every device supporting this kind of
> >> selftests.
> >
> > I agree.
> >
> > I still wonder if there is confusion about self test here. Maybe
>
> Probably.
>
> > putting ethtool into the description will help people understand it
> > has nothing to do with the kernel self test infrastructure and kernel
> > self testing.
>
> So it's a hardware check that is required to be run if it's implemented
> in a driver?
>
> Required by who/what?

It is not required, but it is a useful debug tool for the educated
user. Root can run the self tests on the network interface. If the
self test pass, but the interface does not work, you probably have a
cabling or configuration issue. Networking is complex and being able
to eliminate the interface hardware lets you concentrate on some other
part of the problem. You can then maybe next use the cable test option
of ethtool to see if the cable has a problem.

Andrew