• Paul E. McKenney's avatar
    tools/memory-model: Make judgelitmus.sh handle hardware verifications · 2024436d
    Paul E. McKenney authored
    This commit makes the judgelitmus.sh script check the --hw argument
    (AKA the LKMM_HW_MAP_FILE environment variable) and to adjust its
    judgment for a run where a C-language litmus test has been translated to
    assembly and the assembly version verified.  In this case, the assembly
    verification output is checked against the C-language script's "Result:"
    comment.  However, because hardware can be stronger than LKMM requires,
    the judgelitmus.sh script forgives verification mismatches featuring
    a "Sometimes" in the C-language script and an "Always" or "Never"
    assembly-language verification.
    
    Note that deadlock is not forgiven, however, this should not normally be
    an issue given that C-language tests containing locking, RCU, or SRCU
    cannot be translated to assembly.  However, this issue can crop up in
    litmus tests that mimic deadlock by using the "filter" clause to ignore
    all executions.  It can also crop up when certain herd arguments are
    used to autofilter everything that does not match the "exists" clause
    in cases where the "exists" clause cannot be satisfied.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    2024436d
README 1.91 KB