netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [TEST] TCP AO tests failing with CONFIG_PROVE_RCU_LIST
@ 2024-10-28 22:26 Jakub Kicinski
  2024-10-28 22:45 ` Dmitry Safonov
  0 siblings, 1 reply; 2+ messages in thread
From: Jakub Kicinski @ 2024-10-28 22:26 UTC (permalink / raw)
  To: Dmitry Safonov; +Cc: netdev

Hi Dmitry!

We just enabled CONFIG_PROVE_RCU_LIST with commit a3e4bf7f9675
("configs/debug: make sure PROVE_RCU_LIST=y takes effect")
in net-next. Looks like TCP AO tests now splat, eg:

[   42.597861][  T235] =============================
[   42.598195][  T235] WARNING: suspicious RCU usage
[   42.598452][  T235] 6.12.0-rc4-virtme #1 Not tainted
[   42.598697][  T235] -----------------------------
[   42.598959][  T235] net/ipv4/tcp_ao.c:2232 RCU-list traversed in non-reader section!!
[   42.599319][  T235] 
[   42.599319][  T235] other info that might help us debug this:
[   42.599319][  T235] 
[   42.600044][  T235] 
[   42.600044][  T235] rcu_scheduler_active = 2, debug_locks = 1
[   42.600443][  T235] 1 lock held by bench-lookups_i/235:
[   42.600734][  T235]  #0: ffff888005bd9098 (sk_lock-AF_INET6){+.+.}-{0:0}, at: do_tcp_getsockopt+0x40b/0x2fe0
[   42.601327][  T235] 
[   42.601327][  T235] stack backtrace:
[   42.601628][  T235] CPU: 2 UID: 0 PID: 235 Comm: bench-lookups_i Not tainted 6.12.0-rc4-virtme #1
[   42.602077][  T235] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
[   42.602605][  T235] Call Trace:
[   42.602796][  T235]  <TASK>
[   42.602930][  T235]  dump_stack_lvl+0xb0/0xd0
[   42.603178][  T235]  lockdep_rcu_suspicious+0x1ea/0x280
[   42.603426][  T235]  tcp_ao_copy_mkts_to_user+0xded/0x1050
[   42.603657][  T235]  ? __lock_acquire+0xb3f/0x1580
[   42.603917][  T235]  ? __pfx_tcp_ao_copy_mkts_to_user+0x10/0x10
[   42.604221][  T235]  ? lock_acquire.part.0+0xeb/0x330
[   42.604463][  T235]  ? __pte_offset_map_lock+0xfb/0x280
[   42.604707][  T235]  ? __pfx_lock_acquire.part.0+0x10/0x10
[   42.604947][  T235]  ? __pfx_lock_acquire.part.0+0x10/0x10
[   42.605220][  T235]  ? do_raw_spin_lock+0x131/0x270
[   42.605524][  T235]  ? __lock_acquire+0xb3f/0x1580
[   42.605796][  T235]  ? lock_acquire.part.0+0xeb/0x330
[   42.606049][  T235]  ? find_held_lock+0x2c/0x110
[   42.606300][  T235]  ? __lock_release+0x103/0x460
[   42.606545][  T235]  ? do_tcp_getsockopt+0x40b/0x2fe0
[   42.606809][  T235]  ? hlock_class+0x4e/0x130
[   42.607058][  T235]  ? mark_lock+0x38/0x3e0
[   42.607273][  T235]  ? do_tcp_getsockopt+0x10dd/0x2fe0
[   42.607508][  T235]  do_tcp_getsockopt+0x10dd/0x2fe0


https://netdev-3.bots.linux.dev/vmksft-tcp-ao-dbg/results/835822/1-bench-lookups-ipv6/stderr

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [TEST] TCP AO tests failing with CONFIG_PROVE_RCU_LIST
  2024-10-28 22:26 [TEST] TCP AO tests failing with CONFIG_PROVE_RCU_LIST Jakub Kicinski
@ 2024-10-28 22:45 ` Dmitry Safonov
  0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Safonov @ 2024-10-28 22:45 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: netdev

Hi Jakub,

On Mon, 28 Oct 2024 at 22:26, Jakub Kicinski <kuba@kernel.org> wrote:
>
> Hi Dmitry!
>
> We just enabled CONFIG_PROVE_RCU_LIST with commit a3e4bf7f9675
> ("configs/debug: make sure PROVE_RCU_LIST=y takes effect")
> in net-next. Looks like TCP AO tests now splat, eg:

Thanks, will take a look at this today.

> [   42.597861][  T235] =============================
> [   42.598195][  T235] WARNING: suspicious RCU usage
> [   42.598452][  T235] 6.12.0-rc4-virtme #1 Not tainted
> [   42.598697][  T235] -----------------------------
> [   42.598959][  T235] net/ipv4/tcp_ao.c:2232 RCU-list traversed in non-reader section!!
> [   42.599319][  T235]
> [   42.599319][  T235] other info that might help us debug this:
> [   42.599319][  T235]
> [   42.600044][  T235]
> [   42.600044][  T235] rcu_scheduler_active = 2, debug_locks = 1
> [   42.600443][  T235] 1 lock held by bench-lookups_i/235:
> [   42.600734][  T235]  #0: ffff888005bd9098 (sk_lock-AF_INET6){+.+.}-{0:0}, at: do_tcp_getsockopt+0x40b/0x2fe0
> [   42.601327][  T235]
> [   42.601327][  T235] stack backtrace:
> [   42.601628][  T235] CPU: 2 UID: 0 PID: 235 Comm: bench-lookups_i Not tainted 6.12.0-rc4-virtme #1
> [   42.602077][  T235] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
> [   42.602605][  T235] Call Trace:
> [   42.602796][  T235]  <TASK>
> [   42.602930][  T235]  dump_stack_lvl+0xb0/0xd0
> [   42.603178][  T235]  lockdep_rcu_suspicious+0x1ea/0x280
> [   42.603426][  T235]  tcp_ao_copy_mkts_to_user+0xded/0x1050
> [   42.603657][  T235]  ? __lock_acquire+0xb3f/0x1580
> [   42.603917][  T235]  ? __pfx_tcp_ao_copy_mkts_to_user+0x10/0x10
> [   42.604221][  T235]  ? lock_acquire.part.0+0xeb/0x330
> [   42.604463][  T235]  ? __pte_offset_map_lock+0xfb/0x280
> [   42.604707][  T235]  ? __pfx_lock_acquire.part.0+0x10/0x10
> [   42.604947][  T235]  ? __pfx_lock_acquire.part.0+0x10/0x10
> [   42.605220][  T235]  ? do_raw_spin_lock+0x131/0x270
> [   42.605524][  T235]  ? __lock_acquire+0xb3f/0x1580
> [   42.605796][  T235]  ? lock_acquire.part.0+0xeb/0x330
> [   42.606049][  T235]  ? find_held_lock+0x2c/0x110
> [   42.606300][  T235]  ? __lock_release+0x103/0x460
> [   42.606545][  T235]  ? do_tcp_getsockopt+0x40b/0x2fe0
> [   42.606809][  T235]  ? hlock_class+0x4e/0x130
> [   42.607058][  T235]  ? mark_lock+0x38/0x3e0
> [   42.607273][  T235]  ? do_tcp_getsockopt+0x10dd/0x2fe0
> [   42.607508][  T235]  do_tcp_getsockopt+0x10dd/0x2fe0
>
>
> https://netdev-3.bots.linux.dev/vmksft-tcp-ao-dbg/results/835822/1-bench-lookups-ipv6/stderr

Thanks,
             Dmitry

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-10-28 22:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-28 22:26 [TEST] TCP AO tests failing with CONFIG_PROVE_RCU_LIST Jakub Kicinski
2024-10-28 22:45 ` Dmitry Safonov

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).