public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Adrian Moreno <amorenoz@redhat.com>
Cc: netdev@vger.kernel.org, Aaron Conole <aconole@redhat.com>,
	Eelco Chaudron <echaudro@redhat.com>,
	Ilya Maximets <i.maximets@ovn.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
	dev@openvswitch.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v1] net: openvswitch: decouple flow_table from ovs_mutex
Date: Fri, 13 Mar 2026 12:35:35 -0700	[thread overview]
Message-ID: <20260313123535.4b2741b8@kernel.org> (raw)
In-Reply-To: <20260313173114.1220551-1-amorenoz@redhat.com>

On Fri, 13 Mar 2026 18:31:12 +0100 Adrian Moreno wrote:
> Currently the entire ovs module is write-protected using the global
> ovs_mutex. While this simple approach works fine for control-plane
> operations (such as vport configurations), requiring the global mutex
> for flow modifications can be problematic.

YNL selftest for ovs seems to trigger this:

[   88.995118][   T50] =============================
[   88.995287][   T50] WARNING: suspicious RCU usage
[   88.995448][   T50] 7.0.0-rc3-virtme #1 Not tainted
[   88.995630][   T50] -----------------------------
[   88.995788][   T50] net/openvswitch/datapath.c:2666 RCU-list traversed in non-reader section!!
[   88.996122][   T50] 
[   88.996122][   T50] other info that might help us debug this:
[   88.996122][   T50] 
[   88.996388][   T50] 
[   88.996388][   T50] rcu_scheduler_active = 2, debug_locks = 1
[   88.996640][   T50] 3 locks held by kworker/2:1/50:
[   88.996800][   T50]  #0: ff11000001139b48 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0xcb4/0x1390
[   88.997092][   T50]  #1: ffa000000036fd10 ((work_completion)(&(&ovs_net->masks_rebalance)->work)){+.+.}-{0:0}, at: process_one_work+0xd16/0x1390
[   88.997420][   T50]  #2: ffffffffc08038e8 (ovs_mutex){+.+.}-{4:4}, at: ovs_dp_masks_rebalance+0x29/0x270 [openvswitch]
[   88.997707][   T50] 
[   88.997707][   T50] stack backtrace:
[   88.997898][   T50] CPU: 2 UID: 0 PID: 50 Comm: kworker/2:1 Not tainted 7.0.0-rc3-virtme #1 PREEMPT(full) 
[   88.997903][   T50] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[   88.997904][   T50] Workqueue: events ovs_dp_masks_rebalance [openvswitch]
[   88.997911][   T50] Call Trace:
[   88.997914][   T50]  <TASK>
[   88.997916][   T50]  dump_stack_lvl+0x6f/0xa0
[   88.997921][   T50]  lockdep_rcu_suspicious.cold+0x4f/0xad
[   88.997928][   T50]  ovs_dp_masks_rebalance+0x226/0x270 [openvswitch]
[   88.997933][   T50]  process_one_work+0xd57/0x1390
[   88.997940][   T50]  ? pwq_dec_nr_in_flight+0x700/0x700
[   88.997942][   T50]  ? lock_acquire.part.0+0xbc/0x260
[   88.997950][   T50]  worker_thread+0x4d6/0xd40
[   88.997954][   T50]  ? rescuer_thread+0x1330/0x1330
[   88.997956][   T50]  ? __kthread_parkme+0xb3/0x200
[   88.997960][   T50]  ? rescuer_thread+0x1330/0x1330
[   88.997962][   T50]  kthread+0x30f/0x3f0
[   88.997964][   T50]  ? trace_irq_enable.constprop.0+0x13c/0x190
[   88.997967][   T50]  ? kthread_affine_node+0x150/0x150
[   88.997970][   T50]  ret_from_fork+0x472/0x6b0
[   88.997974][   T50]  ? arch_exit_to_user_mode_prepare.isra.0+0x140/0x140
[   88.997977][   T50]  ? __switch_to+0x538/0xcf0
[   88.997980][   T50]  ? kthread_affine_node+0x150/0x150
[   88.997983][   T50]  ret_from_fork_asm+0x11/0x20
[   88.997991][   T50]  </TASK>

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/tools/net/ynl/tests/ovs.c

  reply	other threads:[~2026-03-13 19:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-13 17:31 [PATCH net-next v1] net: openvswitch: decouple flow_table from ovs_mutex Adrian Moreno
2026-03-13 19:35 ` Jakub Kicinski [this message]
2026-03-16 12:01   ` Adrián Moreno
2026-03-14 18:32 ` [syzbot ci] " syzbot ci
2026-03-17 13:30 ` [PATCH net-next v1] " kernel test robot
2026-03-18 14:09 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260313123535.4b2741b8@kernel.org \
    --to=kuba@kernel.org \
    --cc=aconole@redhat.com \
    --cc=amorenoz@redhat.com \
    --cc=davem@davemloft.net \
    --cc=dev@openvswitch.org \
    --cc=echaudro@redhat.com \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=i.maximets@ovn.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox