Date: Wed, 27 Nov 2019 18:57:21 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 242272] LinuxKPI combines all RCU and SRCU domains together, leading to deadlock Message-ID: <bug-242272-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D242272 Bug ID: 242272 Summary: LinuxKPI combines all RCU and SRCU domains together, leading to deadlock Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: aboyer@pensando.io In that other OS, all RCU code is in the one domain, and each SRCU user gets its own domain. (More or less.) They are all combined together in FreeBSD s= ince it has only a bare-bones implementation in the KPI. This is a problem because ib_uverbs holds an SRCU read lock when calling in= to the provider's destroy_cq function. Providers may expect to be able to use = RCU primitives when tearing down, but calling synchronize_rcu() or synchronize_srcu() will lead to a deadlock, even on a completely separate S= RCU domain. To fix this will require adding real multiple-domain support to the KPI. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-242272-227>