~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/memory-model/scripts/README

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/memory-model/scripts/README (Architecture sparc64) and /tools/memory-model/scripts/README (Architecture alpha)


  1                         ============                1                         ============
  2                         LKMM SCRIPTS                2                         LKMM SCRIPTS
  3                         ============                3                         ============
  4                                                     4 
  5                                                     5 
  6 These scripts are run from the tools/memory-mo      6 These scripts are run from the tools/memory-model directory.
  7                                                     7 
  8 checkalllitmus.sh                                   8 checkalllitmus.sh
  9                                                     9 
 10         Run all litmus tests in the litmus-tes     10         Run all litmus tests in the litmus-tests directory, checking
 11         the results against the expected resul     11         the results against the expected results recorded in the
 12         "Result:" comment lines.                   12         "Result:" comment lines.
 13                                                    13 
 14 checkghlitmus.sh                                   14 checkghlitmus.sh
 15                                                    15 
 16         Run all litmus tests in the https://gi     16         Run all litmus tests in the https://github.com/paulmckrcu/litmus
 17         archive that are C-language and that h     17         archive that are C-language and that have "Result:" comment lines
 18         documenting expected results, comparin     18         documenting expected results, comparing the actual results to
 19         those expected.                            19         those expected.
 20                                                    20 
 21 checklitmushist.sh                                 21 checklitmushist.sh
 22                                                    22 
 23         Run all litmus tests having .litmus.ou     23         Run all litmus tests having .litmus.out files from previous
 24         initlitmushist.sh or newlitmushist.sh      24         initlitmushist.sh or newlitmushist.sh runs, comparing the
 25         herd7 output to that of the original r     25         herd7 output to that of the original runs.
 26                                                    26 
 27 checklitmus.sh                                     27 checklitmus.sh
 28                                                    28 
 29         Check a single litmus test against its     29         Check a single litmus test against its "Result:" expected result.
 30         Not intended to for manual use.            30         Not intended to for manual use.
 31                                                    31 
 32 checktheselitmus.sh                                32 checktheselitmus.sh
 33                                                    33 
 34         Check the specified list of litmus tes     34         Check the specified list of litmus tests against their "Result:"
 35         expected results.  This takes optional     35         expected results.  This takes optional parseargs.sh arguments,
 36         followed by "--" followed by pathnames     36         followed by "--" followed by pathnames starting from the current
 37         directory.                                 37         directory.
 38                                                    38 
 39 cmplitmushist.sh                                   39 cmplitmushist.sh
 40                                                    40 
 41         Compare output from two different runs     41         Compare output from two different runs of the same litmus tests,
 42         with the absolute pathnames of the tes     42         with the absolute pathnames of the tests to run provided one
 43         name per line on standard input.  Not      43         name per line on standard input.  Not normally run manually,
 44         provided instead for use by other scri     44         provided instead for use by other scripts.
 45                                                    45 
 46 initlitmushist.sh                                  46 initlitmushist.sh
 47                                                    47 
 48         Run all litmus tests having no more th     48         Run all litmus tests having no more than the specified number
 49         of processes given a specified timeout     49         of processes given a specified timeout, recording the results
 50         in .litmus.out files.                      50         in .litmus.out files.
 51                                                    51 
 52 judgelitmus.sh                                     52 judgelitmus.sh
 53                                                    53 
 54         Given a .litmus file and its herd7 out     54         Given a .litmus file and its herd7 output, check the output file
 55         against the .litmus file's "Result:" c     55         against the .litmus file's "Result:" comment to judge whether
 56         the test ran correctly.  Not normally      56         the test ran correctly.  Not normally run manually, provided
 57         instead for use by other scripts.          57         instead for use by other scripts.
 58                                                    58 
 59 newlitmushist.sh                                   59 newlitmushist.sh
 60                                                    60 
 61         For all new or updated litmus tests ha     61         For all new or updated litmus tests having no more than the
 62         specified number of processes given a      62         specified number of processes given a specified timeout, run
 63         and record the results in .litmus.out      63         and record the results in .litmus.out files.
 64                                                    64 
 65 parseargs.sh                                       65 parseargs.sh
 66                                                    66 
 67         Parse command-line arguments.  Not nor     67         Parse command-line arguments.  Not normally run manually,
 68         provided instead for use by other scri     68         provided instead for use by other scripts.
 69                                                    69 
 70 runlitmushist.sh                                   70 runlitmushist.sh
 71                                                    71 
 72         Run the litmus tests whose absolute pa     72         Run the litmus tests whose absolute pathnames are provided one
 73         name per line on standard input.  Not      73         name per line on standard input.  Not normally run manually,
 74         provided instead for use by other scri     74         provided instead for use by other scripts.
 75                                                    75 
 76 README                                             76 README
 77                                                    77 
 78         This file                                  78         This file
 79                                                    79 
 80 Testing a change to LKMM might go as follows:      80 Testing a change to LKMM might go as follows:
 81                                                    81 
 82         # Populate expected results without th     82         # Populate expected results without that change, and
 83         # runs for about an hour on an 8-CPU x     83         # runs for about an hour on an 8-CPU x86 system:
 84         scripts/initlitmushist.sh --timeout 10     84         scripts/initlitmushist.sh --timeout 10m --procs 10
 85         # Incorporate the change:                  85         # Incorporate the change:
 86         git am -s -3 /path/to/patch # Or whate     86         git am -s -3 /path/to/patch # Or whatever it takes.
 87                                                    87 
 88         # Test the new version of LKMM as foll     88         # Test the new version of LKMM as follows...
 89                                                    89 
 90         # Runs in seconds, good smoke test:        90         # Runs in seconds, good smoke test:
 91         scripts/checkalllitmus.sh                  91         scripts/checkalllitmus.sh
 92                                                    92 
 93         # Compares results to those produced b     93         # Compares results to those produced by initlitmushist.sh,
 94         # and runs for about an hour on an 8-C     94         # and runs for about an hour on an 8-CPU x86 system:
 95         scripts/checklitmushist.sh --timeout 1     95         scripts/checklitmushist.sh --timeout 10m --procs 10
 96                                                    96 
 97         # Checks results against Result tags,      97         # Checks results against Result tags, runs in minutes:
 98         scripts/checkghlitmus.sh --timeout 10m     98         scripts/checkghlitmus.sh --timeout 10m --procs 10
 99                                                    99 
100 The checkghlitmus.sh should not report errors     100 The checkghlitmus.sh should not report errors in cases where the
101 checklitmushist.sh script did not also report     101 checklitmushist.sh script did not also report a change.  However,
102 this check is nevertheless valuable because it    102 this check is nevertheless valuable because it can find errors in the
103 original version of LKMM.  Note however, that     103 original version of LKMM.  Note however, that given the above procedure,
104 an error in the original LKMM version that is     104 an error in the original LKMM version that is fixed by the patch will
105 be reported both as a mismatch by checklitmush    105 be reported both as a mismatch by checklitmushist.sh and as an error
106 by checkghlitmus.sh.  One exception to this ru    106 by checkghlitmus.sh.  One exception to this rule of thumb is when the
107 test fails completely on the original version     107 test fails completely on the original version of LKMM and passes on the
108 new version.  In this case, checklitmushist.sh    108 new version.  In this case, checklitmushist.sh will report a mismatch
109 and checkghlitmus.sh will report success.  Thi    109 and checkghlitmus.sh will report success.  This happens when the change
110 to LKMM introduces a new primitive for which l    110 to LKMM introduces a new primitive for which litmus tests already existed.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php