Messages in this thread Patch in this message | | | Subject | [PATCH] RCU Documentation | From | Urs Thuermann <> | Date | 04 Jul 2006 17:22:22 +0200 |
| |
Updater should use _rcu variant of list_del().
urs
Signed-off-by: Urs Thuermann <urs@isnogud.escape.de>
--- linux-2.6.17/Documentation/RCU/whatisRCU.txt.orig +++ linux-2.6.17/Documentation/RCU/whatisRCU.txt @@ -677,8 +677,9 @@ + spin_lock(&listmutex); list_for_each_entry(p, head, lp) { if (p->key == key) { - list_del(&p->list); + - list_del(&p->list); - write_unlock(&listmutex); + + list_del_rcu(&p->list); + spin_unlock(&listmutex); + synchronize_rcu(); kfree(p); @@ -726,7 +727,7 @@ 5 write_lock(&listmutex); 5 spin_lock(&listmutex); 6 list_for_each_entry(p, head, lp) { 6 list_for_each_entry(p, head, lp) { 7 if (p->key == key) { 7 if (p->key == key) { - 8 list_del(&p->list); 8 list_del(&p->list); + 8 list_del(&p->list); 8 list_del_rcu(&p->list); 9 write_unlock(&listmutex); 9 spin_unlock(&listmutex); 10 synchronize_rcu(); 10 kfree(p); 11 kfree(p); - 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/
| |