Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/rcu-doc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/rcu-doc-2.6: Doc: Fix spelling in RCU/rculist_nulls.txt. Doc: Fix wrong API example usage of call_rcu(). Doc: Fix missing whitespaces in RCU documentation.
This commit is contained in:
commit
3e850509e1
|
@ -118,7 +118,7 @@ Following are the RCU equivalents for these two functions:
|
||||||
list_for_each_entry(e, list, list) {
|
list_for_each_entry(e, list, list) {
|
||||||
if (!audit_compare_rule(rule, &e->rule)) {
|
if (!audit_compare_rule(rule, &e->rule)) {
|
||||||
list_del_rcu(&e->list);
|
list_del_rcu(&e->list);
|
||||||
call_rcu(&e->rcu, audit_free_rule, e);
|
call_rcu(&e->rcu, audit_free_rule);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -206,7 +206,7 @@ RCU ("read-copy update") its name. The RCU code is as follows:
|
||||||
ne->rule.action = newaction;
|
ne->rule.action = newaction;
|
||||||
ne->rule.file_count = newfield_count;
|
ne->rule.file_count = newfield_count;
|
||||||
list_replace_rcu(e, ne);
|
list_replace_rcu(e, ne);
|
||||||
call_rcu(&e->rcu, audit_free_rule, e);
|
call_rcu(&e->rcu, audit_free_rule);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -283,7 +283,7 @@ flag under the spinlock as follows:
|
||||||
list_del_rcu(&e->list);
|
list_del_rcu(&e->list);
|
||||||
e->deleted = 1;
|
e->deleted = 1;
|
||||||
spin_unlock(&e->lock);
|
spin_unlock(&e->lock);
|
||||||
call_rcu(&e->rcu, audit_free_rule, e);
|
call_rcu(&e->rcu, audit_free_rule);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ o I hear that RCU needs work in order to support realtime kernels?
|
||||||
This work is largely completed. Realtime-friendly RCU can be
|
This work is largely completed. Realtime-friendly RCU can be
|
||||||
enabled via the CONFIG_PREEMPT_RCU kernel configuration parameter.
|
enabled via the CONFIG_PREEMPT_RCU kernel configuration parameter.
|
||||||
However, work is in progress for enabling priority boosting of
|
However, work is in progress for enabling priority boosting of
|
||||||
preempted RCU read-side critical sections.This is needed if you
|
preempted RCU read-side critical sections. This is needed if you
|
||||||
have CPU-bound realtime threads.
|
have CPU-bound realtime threads.
|
||||||
|
|
||||||
o Where can I find more information on RCU?
|
o Where can I find more information on RCU?
|
||||||
|
|
|
@ -21,7 +21,7 @@ if (obj) {
|
||||||
/*
|
/*
|
||||||
* Because a writer could delete object, and a writer could
|
* Because a writer could delete object, and a writer could
|
||||||
* reuse these object before the RCU grace period, we
|
* reuse these object before the RCU grace period, we
|
||||||
* must check key after geting the reference on object
|
* must check key after getting the reference on object
|
||||||
*/
|
*/
|
||||||
if (obj->key != key) { // not the object we expected
|
if (obj->key != key) { // not the object we expected
|
||||||
put_ref(obj);
|
put_ref(obj);
|
||||||
|
@ -117,7 +117,7 @@ a race (some writer did a delete and/or a move of an object
|
||||||
to another chain) checking the final 'nulls' value if
|
to another chain) checking the final 'nulls' value if
|
||||||
the lookup met the end of chain. If final 'nulls' value
|
the lookup met the end of chain. If final 'nulls' value
|
||||||
is not the slot number, then we must restart the lookup at
|
is not the slot number, then we must restart the lookup at
|
||||||
the begining. If the object was moved to same chain,
|
the beginning. If the object was moved to the same chain,
|
||||||
then the reader doesnt care : It might eventually
|
then the reader doesnt care : It might eventually
|
||||||
scan the list again without harm.
|
scan the list again without harm.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue