On Mon, Aug 11, 2008 at 10:01:26AM +0000, Jarek Poplawski wrote:Yes, but: 1. You need to use one of the update-side primitives to do the store: rcu_assign_pointer(), list_add_rcu(), etc. 2. There has to be some way for multiple updaters to coordinate, for example: a. Only a single task is permitted to update. b. Locking is used to coordinate among multiple updaters (so that only one such updater may proceed at a given time). c. Atomic operations are used to coordinate multiple updaters. Here be dragons, go for (a) or (b) instead unless you have an extremely good reason -and- you have both a proof of correctness and a totally brutal and malign test suite. The main reason to update RCU-protected pointers within rcu_read_lock() regions is when sharing code between RCU readers and updaters, or when an RCU reader can see the need to do an update. Thanx, Paul -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Greg Kroah-Hartman | [PATCH 011/196] sysfs: Fix a copy-n-paste typo in comment |
| Al Boldi | Re: [ck] Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu sched... |
| Andrew Morton | 2.6.25-rc8-mm2 |
| Ingo Molnar | Re: [patch] sched_clock(): cleanups |
| David Miller | [GIT]: Networking |
| John P Poet | Realtek 8111C transmit timed out |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Kenny Chang | Multicast packet loss |
git: | |
