Commit c75e9caa authored by Paul E. McKenney's avatar Paul E. McKenney

doc: Take tail recursion into account in RCU requirements

This commit classifies tail recursion as an alternative way to write
a loop, with similar limitations.
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 09f501a0
...@@ -1849,7 +1849,8 @@ mass storage, or user patience, whichever comes first. ...@@ -1849,7 +1849,8 @@ mass storage, or user patience, whichever comes first.
If the nesting is not visible to the compiler, as is the case with If the nesting is not visible to the compiler, as is the case with
mutually recursive functions each in its own translation unit, mutually recursive functions each in its own translation unit,
stack overflow will result. stack overflow will result.
If the nesting takes the form of loops, either the control variable If the nesting takes the form of loops, perhaps in the guise of tail
recursion, either the control variable
will overflow or (in the Linux kernel) you will get an RCU CPU stall warning. will overflow or (in the Linux kernel) you will get an RCU CPU stall warning.
Nevertheless, this class of RCU implementations is one Nevertheless, this class of RCU implementations is one
of the most composable constructs in existence. of the most composable constructs in existence.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment