public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/4] use rcu_read_lock() during module list walk
@ 2015-07-31 17:08 Sebastian Andrzej Siewior
  2015-07-31 17:08 ` [RFC 1/4] module: use rcu_read_lock() while walking over a RCU protected list Sebastian Andrzej Siewior
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Sebastian Andrzej Siewior @ 2015-07-31 17:08 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: linux-kernel, Rusty Russell, Ananth N Mavinakayanahalli,
	Anil S Keshavamurthy, tglx

Hi Peter,

this series was made before I noticed that you introduced a RB tree for
lookup but the old way still remains under !CONFIG_MODULES_TREE_LOOKUP.
In the old way the caller had preempt_disable() while invoking
list_for_each_safe_rcu() which is (according to the RCU checklist) not a
substitute for rcu_readlock().
With your CONFIG_MODULES_TREE_LOOKUP I fail to understand what blocks
free_module() until all mod_find() callers have dropped their refrence to
the obtained struct mod. We had synchronize_sched() in RCU case.

Sebastian


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

end of thread, other threads:[~2015-07-31 17:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-31 17:08 [RFC 0/4] use rcu_read_lock() during module list walk Sebastian Andrzej Siewior
2015-07-31 17:08 ` [RFC 1/4] module: use rcu_read_lock() while walking over a RCU protected list Sebastian Andrzej Siewior
2015-07-31 17:14   ` Peter Zijlstra
2015-07-31 17:08 ` [RFC 2/4] jump_label: use rcu_read_lock() while accessing __module_*() Sebastian Andrzej Siewior
2015-07-31 17:16   ` Peter Zijlstra
2015-07-31 17:08 ` [RFC 3/4] kprobes: Add a RCU lock while invoking __module_text_address() Sebastian Andrzej Siewior
2015-07-31 17:08 ` [RFC 4/4] kprobe: remove preempt_disable() from check_kprobe_address_safe() Sebastian Andrzej Siewior
2015-07-31 17:22 ` [RFC 0/4] use rcu_read_lock() during module list walk Peter Zijlstra

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