···7676README77777878 This file7979+8080+Testing a change to LKMM might go as follows:8181+8282+ # Populate expected results without that change, and8383+ # runs for about an hour on an 8-CPU x86 system:8484+ scripts/initlitmushist.sh --timeout 10m --procs 108585+ # Incorporate the change:8686+ git am -s -3 /path/to/patch # Or whatever it takes.8787+8888+ # Test the new version of LKMM as follows...8989+9090+ # Runs in seconds, good smoke test:9191+ scripts/checkalllitmus.sh9292+9393+ # Compares results to those produced by initlitmushist.sh,9494+ # and runs for about an hour on an 8-CPU x86 system:9595+ scripts/checklitmushist.sh --timeout 10m --procs 109696+9797+ # Checks results against Result tags, runs in minutes:9898+ scripts/checkghlitmus.sh --timeout 10m --procs 109999+100100+The checkghlitmus.sh should not report errors in cases where the101101+checklitmushist.sh script did not also report a change. However,102102+this check is nevertheless valuable because it can find errors in the103103+original version of LKMM. Note however, that given the above procedure,104104+an error in the original LKMM version that is fixed by the patch will105105+be reported both as a mismatch by checklitmushist.sh and as an error106106+by checkghlitmus.sh. One exception to this rule of thumb is when the107107+test fails completely on the original version of LKMM and passes on the108108+new version. In this case, checklitmushist.sh will report a mismatch109109+and checkghlitmus.sh will report success. This happens when the change110110+to LKMM introduces a new primitive for which litmus tests already existed.