RCU read lock vs spinlocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If a function needs both a spinlock and the RCU read lock, is there a best
order in which they should be taken?  For instance, is:

	spin_lock(&my_lock);
	rcu_read_lock();
	...
	rcu_read_unlock();
	spin_unlock(&my_lock);

better than:

	rcu_read_lock();
	spin_lock(&my_lock);
	...
	spin_unlock(&my_lock);
	rcu_read_unlock();

And does it make any different if spin_lock_irq*() is used?

In fact, should spin_lock_irq*() imply rcu_read_lock()?  Given that the
current task can't be preempted if there can be no interrupt to do the
preempting?

David
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux