mirror of https://gitee.com/openkylin/linux.git
Documentation/volatile-considered-harmful.txt: convert to ReST markup
- Fix document section markups; - use quote blocks where needed; - adjust spaces and blank lines; - add it to the development-processs book. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
27641b953c
commit
9c27d77d99
|
@ -22,7 +22,7 @@ need to use volatile as well. If volatile is still necessary, there is
|
||||||
almost certainly a bug in the code somewhere. In properly-written kernel
|
almost certainly a bug in the code somewhere. In properly-written kernel
|
||||||
code, volatile can only serve to slow things down.
|
code, volatile can only serve to slow things down.
|
||||||
|
|
||||||
Consider a typical block of kernel code:
|
Consider a typical block of kernel code::
|
||||||
|
|
||||||
spin_lock(&the_lock);
|
spin_lock(&the_lock);
|
||||||
do_something_on(&shared_data);
|
do_something_on(&shared_data);
|
||||||
|
@ -57,7 +57,7 @@ optimization, so, once again, volatile is unnecessary.
|
||||||
|
|
||||||
Another situation where one might be tempted to use volatile is
|
Another situation where one might be tempted to use volatile is
|
||||||
when the processor is busy-waiting on the value of a variable. The right
|
when the processor is busy-waiting on the value of a variable. The right
|
||||||
way to perform a busy wait is:
|
way to perform a busy wait is::
|
||||||
|
|
||||||
while (my_variable != what_i_want)
|
while (my_variable != what_i_want)
|
||||||
cpu_relax();
|
cpu_relax();
|
||||||
|
@ -103,17 +103,20 @@ they come with a justification which shows that the concurrency issues have
|
||||||
been properly thought through.
|
been properly thought through.
|
||||||
|
|
||||||
|
|
||||||
NOTES
|
References
|
||||||
-----
|
==========
|
||||||
|
|
||||||
[1] http://lwn.net/Articles/233481/
|
[1] http://lwn.net/Articles/233481/
|
||||||
|
|
||||||
[2] http://lwn.net/Articles/233482/
|
[2] http://lwn.net/Articles/233482/
|
||||||
|
|
||||||
CREDITS
|
Credits
|
||||||
-------
|
=======
|
||||||
|
|
||||||
Original impetus and research by Randy Dunlap
|
Original impetus and research by Randy Dunlap
|
||||||
|
|
||||||
Written by Jonathan Corbet
|
Written by Jonathan Corbet
|
||||||
|
|
||||||
Improvements via comments from Satyam Sharma, Johannes Stezenbach, Jesper
|
Improvements via comments from Satyam Sharma, Johannes Stezenbach, Jesper
|
||||||
Juhl, Heikki Orsila, H. Peter Anvin, Philipp Hahn, and Stefan
|
Juhl, Heikki Orsila, H. Peter Anvin, Philipp Hahn, and Stefan
|
||||||
Richter.
|
Richter.
|
||||||
|
|
Loading…
Reference in New Issue