* [PATCH net] selftests: netconsole: enable the targets created by the torture test
@ 2026-11-10 12:32 Breno Leitao
2026-11-11 1:58 ` Hangbin Liu
0 siblings, 1 reply; 3+ messages in thread
From: Breno Leitao @ 2026-11-10 12:32 UTC (permalink / raw)
To: Gustavo Luiz Duarte, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman
Cc: netdev, linux-kselftest, linux-kernel, kernel-team, Breno Leitao
create_and_delete_random_target() is meant to create, enable and remove
targets while messages are sent, but it only creates and removes them.
The helper it calls, _create_dynamic_target(), stopped enabling the
target when the bonding test moved that step into
create_dynamic_target().
Enable the targets again, so they come up while messages flow and are
disabled before being removed. Like toggle_netcons_target(), ignore a
failed enable, which would otherwise end the function and leave the
targets behind. With a console per target, this also registers and
unregisters their consoles under load.
Fixes: 236682db3b6f ("selftest: netcons: add test for netconsole over bonded interfaces")
Signed-off-by: Breno Leitao <leitao@debian.org>
---
tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh b/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
index 33a44adb6f8f3a..3dfab0bf1b0756 100755
--- a/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
+++ b/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
@@ -46,6 +46,7 @@ create_and_delete_random_target() {
# Basic population so the target can come up
_create_dynamic_target "${FORMAT}" "${RND_TARGET_PATH}"
+ echo 1 > "${RND_TARGET_PATH}"/enabled 2> /dev/null || true
done
echo "netconsole selftest: ${COUNT} additional targets were created" > /dev/kmsg
---
base-commit: b3dfbde62cf1981c4638939c159dfd087b7a72e9
change-id: 20261110-netcons_selftest_fix-4cbf633295ef
Best regards,
--
Breno Leitao <leitao@debian.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net] selftests: netconsole: enable the targets created by the torture test
2026-11-10 12:32 [PATCH net] selftests: netconsole: enable the targets created by the torture test Breno Leitao
@ 2026-11-11 1:58 ` Hangbin Liu
2026-11-11 10:20 ` Breno Leitao
0 siblings, 1 reply; 3+ messages in thread
From: Hangbin Liu @ 2026-11-11 1:58 UTC (permalink / raw)
To: Breno Leitao
Cc: Gustavo Luiz Duarte, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kselftest, linux-kernel, kernel-team
Hi Breno,
On Tue, Nov 10, 2026 at 04:32:25AM -0800, Breno Leitao wrote:
> create_and_delete_random_target() is meant to create, enable and remove
> targets while messages are sent, but it only creates and removes them.
> The helper it calls, _create_dynamic_target(), stopped enabling the
> target when the bonding test moved that step into
> create_dynamic_target().
>
> Enable the targets again, so they come up while messages flow and are
> disabled before being removed. Like toggle_netcons_target(), ignore a
> failed enable, which would otherwise end the function and leave the
> targets behind. With a console per target, this also registers and
> unregisters their consoles under load.
>
> Fixes: 236682db3b6f ("selftest: netcons: add test for netconsole over bonded interfaces")
> Signed-off-by: Breno Leitao <leitao@debian.org>
> ---
> tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh b/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
> index 33a44adb6f8f3a..3dfab0bf1b0756 100755
> --- a/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
> +++ b/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
> @@ -46,6 +46,7 @@ create_and_delete_random_target() {
>
> # Basic population so the target can come up
> _create_dynamic_target "${FORMAT}" "${RND_TARGET_PATH}"
> + echo 1 > "${RND_TARGET_PATH}"/enabled 2> /dev/null || true
> done
>
> echo "netconsole selftest: ${COUNT} additional targets were created" > /dev/kmsg
>
> ---
> base-commit: b3dfbde62cf1981c4638939c159dfd087b7a72e9
> change-id: 20261110-netcons_selftest_fix-4cbf633295ef
>
> Best regards,
> --
> Breno Leitao <leitao@debian.org>
>
Ignore the failed enable makes sense to me, as we enabled `set -e`
and use random target. Do we need sleep 1s like create_dynamic_target()
to make sure the configuration loaded?
Thanks
Hangbin
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net] selftests: netconsole: enable the targets created by the torture test
2026-11-11 1:58 ` Hangbin Liu
@ 2026-11-11 10:20 ` Breno Leitao
0 siblings, 0 replies; 3+ messages in thread
From: Breno Leitao @ 2026-11-11 10:20 UTC (permalink / raw)
To: Hangbin Liu
Cc: Gustavo Luiz Duarte, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kselftest, linux-kernel, kernel-team
Hello Hangbin,
On Wed, Nov 11, 2026 at 09:58:32AM +0800, Hangbin Liu wrote:
> On Tue, Nov 10, 2026 at 04:32:25AM -0800, Breno Leitao wrote:
> > create_and_delete_random_target() is meant to create, enable and remove
> > targets while messages are sent, but it only creates and removes them.
> > The helper it calls, _create_dynamic_target(), stopped enabling the
> > target when the bonding test moved that step into
> > create_dynamic_target().
> >
> > Enable the targets again, so they come up while messages flow and are
> > disabled before being removed. Like toggle_netcons_target(), ignore a
> > failed enable, which would otherwise end the function and leave the
> > targets behind. With a console per target, this also registers and
> > unregisters their consoles under load.
> >
> > Fixes: 236682db3b6f ("selftest: netcons: add test for netconsole over bonded interfaces")
> > Signed-off-by: Breno Leitao <leitao@debian.org>
> > ---
> > tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh b/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
> > index 33a44adb6f8f3a..3dfab0bf1b0756 100755
> > --- a/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
> > +++ b/tools/testing/selftests/drivers/net/netconsole/netcons_torture.sh
> > @@ -46,6 +46,7 @@ create_and_delete_random_target() {
> >
> > # Basic population so the target can come up
> > _create_dynamic_target "${FORMAT}" "${RND_TARGET_PATH}"
> > + echo 1 > "${RND_TARGET_PATH}"/enabled 2> /dev/null || true
> > done
> >
> > echo "netconsole selftest: ${COUNT} additional targets were created" > /dev/kmsg
> >
> > ---
> > base-commit: b3dfbde62cf1981c4638939c159dfd087b7a72e9
> > change-id: 20261110-netcons_selftest_fix-4cbf633295ef
> >
> > Best regards,
> > --
> > Breno Leitao <leitao@debian.org>
> >
>
> Ignore the failed enable makes sense to me, as we enabled `set -e`
> and use random target.
ack!
> Do we need sleep 1s like create_dynamic_target() to make sure the
> configuration loaded?
I don't think we need it. The write to enabled is synchronous:
enabled_store() sets up netpoll and moves the target to STATE_ENABLED
before it returns. If the setup fails, enabled reads back 0, and the
disable loop checks enabled before writing 0 to it.
The other reason for that sleep, keeping the console messages in
order, does not apply either, since the torture test does not read
back any message.
Thanks for the review,
--breno
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-11-11 10:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-10 12:32 [PATCH net] selftests: netconsole: enable the targets created by the torture test Breno Leitao
2026-11-11 1:58 ` Hangbin Liu
2026-11-11 10:20 ` Breno Leitao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®