Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/tools/memory-model/scripts/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

Quelle  README   Sprache: unbekannt

 
Spracherkennung für: vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

   ============
   LKMM SCRIPTS
   ============


These scripts are run from the tools/memory-model directory.

checkalllitmus.sh

 Run all litmus tests in the litmus-tests directory, checking
 the results against the expected results recorded in the
 "Result:" comment lines.

checkghlitmus.sh

 Run all litmus tests in the https://github.com/paulmckrcu/litmus
 archive that are C-language and that have "Result:" comment lines
 documenting expected results, comparing the actual results to
 those expected.

checklitmushist.sh

 Run all litmus tests having .litmus.out files from previous
 initlitmushist.sh or newlitmushist.sh runs, comparing the
 herd7 output to that of the original runs.

checklitmus.sh

 Check a single litmus test against its "Result:" expected result.
 Not intended to for manual use.

checktheselitmus.sh

 Check the specified list of litmus tests against their "Result:"
 expected results.  This takes optional parseargs.sh arguments,
 followed by "--" followed by pathnames starting from the current
 directory.

cmplitmushist.sh

 Compare output from two different runs of the same litmus tests,
 with the absolute pathnames of the tests to run provided one
 name per line on standard input.  Not normally run manually,
 provided instead for use by other scripts.

initlitmushist.sh

 Run all litmus tests having no more than the specified number
 of processes given a specified timeout, recording the results
 in .litmus.out files.

judgelitmus.sh

 Given a .litmus file and its herd7 output, check the output file
 against the .litmus file's "Result:" comment to judge whether
 the test ran correctly.  Not normally run manually, provided
 instead for use by other scripts.

newlitmushist.sh

 For all new or updated litmus tests having no more than the
 specified number of processes given a specified timeout, run
 and record the results in .litmus.out files.

parseargs.sh

 Parse command-line arguments.  Not normally run manually,
 provided instead for use by other scripts.

runlitmushist.sh

 Run the litmus tests whose absolute pathnames are provided one
 name per line on standard input.  Not normally run manually,
 provided instead for use by other scripts.

README

 This file

Testing a change to LKMM might go as follows:

 # Populate expected results without that change, and
 # runs for about an hour on an 8-CPU x86 system:
 scripts/initlitmushist.sh --timeout 10m --procs 10
 # Incorporate the change:
 git am -s -3 /path/to/patch # Or whatever it takes.

 # Test the new version of LKMM as follows...

 # Runs in seconds, good smoke test:
 scripts/checkalllitmus.sh

 # Compares results to those produced by initlitmushist.sh,
 # and runs for about an hour on an 8-CPU x86 system:
 scripts/checklitmushist.sh --timeout 10m --procs 10

 # Checks results against Result tags, runs in minutes:
 scripts/checkghlitmus.sh --timeout 10m --procs 10

The checkghlitmus.sh should not report errors in cases where the
checklitmushist.sh script did not also report a change.  However,
this check is nevertheless valuable because it can find errors in the
original version of LKMM.  Note however, that given the above procedure,
an error in the original LKMM version that is fixed by the patch will
be reported both as a mismatch by checklitmushist.sh and as an error
by checkghlitmus.sh.  One exception to this rule of thumb is when the
test fails completely on the original version of LKMM and passes on the
new version.  In this case, checklitmushist.sh will report a mismatch
and checkghlitmus.sh will report success.  This happens when the change
to LKMM introduces a new primitive for which litmus tests already existed.

[ Dauer der Verarbeitung: 0.33 Sekunden  ]