On 7/6/07, pradeep singh <2500.pradeep@xxxxxxxxx> wrote:
Hello, Quick question the critical section between rcu_read_lock and rcu_read_unlock need to be as small as possible like in case of local_irq_save()/restore or am i at liberty to have a large critical section with rcu lock?
RCU read locks do not do any explicit locking, and do not block readers OR writers. However, the associated memory cleanup is done only *after* all CPUs have quiesced (went out of atomic context) at least once. So you *might* be delaying that, but I dont see any harm in doing somewhat more work while holding RCU read locks. They do disable preemption - so latencies might suffer.
e.g rcu_read_lock() ... /* some code here */ ... rcu_read_unlock() Is it ok to hold a rcu_read_lock across a large block of code? My guess it is ok? I need someone to correct me or point me where i am misunderstanding something. Thanks --psr -- play the game -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ
-- The box said "Requires Windows Vista or better." So I installed LINUX -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ