Linux RDMA and InfiniBand development
 help / color / mirror / Atom feed
* [Q] RCU usage in infiniband
@ 2026-07-08  9:23 Sebastian Andrzej Siewior
  2026-07-08 13:17 ` Jason Gunthorpe
  0 siblings, 1 reply; 6+ messages in thread
From: Sebastian Andrzej Siewior @ 2026-07-08  9:23 UTC (permalink / raw)
  To: linux-rdma; +Cc: Jason Gunthorpe, Leon Romanovsky, Petr Pavlu, Paul E. McKenney

Hi,

I've been randomly starting at infiniband code and noticed it uses
call_rcu() with a callback from its module. 

| drivers/infiniband/hw/mlx5/devx.c:         call_rcu(&event_sub->rcu, devx_free_subscription);
| drivers/infiniband/ulp/ipoib/ipoib_main.c: call_rcu(&neigh->rcu, ipoib_neigh_reclaim);

I don't see synchronize_rcu() and rcu_barrier() there so I've been
asking myself what ensures that the callback completes before module is
gone (via rmmod)? I would expect a rcu_barrier() in
ipoib_cleanup_module() for instance.

Is the unload path so "late" that the callbacks run before the module is
unmapped or is there something between the APIs that ensures this?

Sebastian

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

end of thread, other threads:[~2026-07-08 13:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-08  9:23 [Q] RCU usage in infiniband Sebastian Andrzej Siewior
2026-07-08 13:17 ` Jason Gunthorpe
2026-07-08 13:21   ` Sebastian Andrzej Siewior
2026-07-08 13:28     ` Jason Gunthorpe
2026-07-08 13:34       ` Sebastian Andrzej Siewior
2026-07-08 13:58         ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox