• Joel Fernandes (Google)'s avatar
    tools/memory-model: Restrict to-r to read-read address dependency · aa568c26
    Joel Fernandes (Google) authored
    During a code-reading exercise of linux-kernel.cat CAT file, I generated
    a graph to show the to-r relations. While likely not problematic for the
    model, I found it confusing that a read-write address dependency would
    show as a to-r edge on the graph.
    
    This patch therefore restricts the to-r links derived from addr to only
    read-read address dependencies, so that read-write address dependencies don't
    show as to-r in the graphs. This should also prevent future users of to-r from
    deriving incorrect relations. Note that a read-write address dep, obviously,
    still ends up in the ppo relation via the to-w relation.
    
    I verified that a read-read address dependency still shows up as a to-r
    link in the graph, as it did before.
    
    For reference, the problematic graph was generated with the following
    command:
    herd7 -conf linux-kernel.cfg \
       -doshow dep -doshow to-r -doshow to-w ./foo.litmus -show all -o OUT/
    Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Acked-by: default avatarAndrea Parri <parri.andrea@gmail.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    aa568c26
linux-kernel.cat 7.78 KB