No arguments on NFS, and I have to agree that RCU has been used
primarily as an optimization thus far in Linux. However, RCU
can and should be considered quite early on. The situation is
similar to reader-writer locking -- you are better off working
out which of your locks are going to be reader-writer locks
earlier rather than later. If you use either reader-writer
locking or RCU as a late optimization, you will find that your
earlier design decisions make your life more complex than necessary.
On the other hand, if RCU is considered early, it can make life
simpler. Breaking up locks often introduces deadlocks. Some
of these deadlocks can be avoided entirely by thinking through
the use of RCU at design time. An extreme example of deadlock
avoidance may be found in IPMI (drivers/char/ipmi/ipmi_kcs_intf.c,
the synchronize_kernel() near line 1174). Really tough to do
this as a late optimization...
Thanx, Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/