diff --git a/Documentation/kernel-hacking/locking.rst b/Documentation/kernel-hacking/locking.rst index 17774b1f75870d41e2f70c826b22e83f0e4de56c..b70c2c4eb147d49f124f13d56aab38d7bef0a60f 100644 --- a/Documentation/kernel-hacking/locking.rst +++ b/Documentation/kernel-hacking/locking.rst @@ -29,43 +29,45 @@ In a normal program, you can increment a counter like so: This is what they would expect to happen: -+------------------------------------+------------------------------------+ -| Instance 1 | Instance 2 | -+====================================+====================================+ -| read very_important_count (5) | | -+------------------------------------+------------------------------------+ -| add 1 (6) | | -+------------------------------------+------------------------------------+ -| write very_important_count (6) | | -+------------------------------------+------------------------------------+ -| | read very_important_count (6) | -+------------------------------------+------------------------------------+ -| | add 1 (7) | -+------------------------------------+------------------------------------+ -| | write very_important_count (7) | -+------------------------------------+------------------------------------+ - -Table: Expected Results + +.. table:: Expected Results + + +------------------------------------+------------------------------------+ + | Instance 1 | Instance 2 | + +====================================+====================================+ + | read very_important_count (5) | | + +------------------------------------+------------------------------------+ + | add 1 (6) | | + +------------------------------------+------------------------------------+ + | write very_important_count (6) | | + +------------------------------------+------------------------------------+ + | | read very_important_count (6) | + +------------------------------------+------------------------------------+ + | | add 1 (7) | + +------------------------------------+------------------------------------+ + | | write very_important_count (7) | + +------------------------------------+------------------------------------+ This is what might happen: -+------------------------------------+------------------------------------+ -| Instance 1 | Instance 2 | -+====================================+====================================+ -| read very_important_count (5) | | -+------------------------------------+------------------------------------+ -| | read very_important_count (5) | -+------------------------------------+------------------------------------+ -| add 1 (6) | | -+------------------------------------+------------------------------------+ -| | add 1 (6) | -+------------------------------------+------------------------------------+ -| write very_important_count (6) | | -+------------------------------------+------------------------------------+ -| | write very_important_count (6) | -+------------------------------------+------------------------------------+ - -Table: Possible Results +.. table:: Possible Results + + +------------------------------------+------------------------------------+ + | Instance 1 | Instance 2 | + +====================================+====================================+ + | read very_important_count (5) | | + +------------------------------------+------------------------------------+ + | | read very_important_count (5) | + +------------------------------------+------------------------------------+ + | add 1 (6) | | + +------------------------------------+------------------------------------+ + | | add 1 (6) | + +------------------------------------+------------------------------------+ + | write very_important_count (6) | | + +------------------------------------+------------------------------------+ + | | write very_important_count (6) | + +------------------------------------+------------------------------------+ + Race Conditions and Critical Regions ------------------------------------