digraph gph { Ur -> Sr [ label="set stable" ]; Ur -> Vr [ label="set volatile" ]; Ur -> Ur [ label="set unused" ]; Ur -> Pr [ label="set stable_if_present" ]; Sr -> Sr [ label="set stable" ]; Sr -> Vr [ label="set volatile" ]; Sr -> Ur [ label="set unused" ]; Sr -> Pr [ label="set stable_if_present" ]; Vr -> Sr [ label="set stable" ]; Vr -> Vr [ label="set volatile" ]; Vr -> Ur [ label="set unused" ]; Vr -> Pr [ label="set stable_if_present" ]; Pr -> Sr [ label="set stable" ]; Pr -> Vr [ label="set volatile" ]; Pr -> Ur [ label="set unused" ]; Pr -> Pr [ label="set stable_if_present" ]; Uz -> Sz [ label="set stable" ]; Uz -> Vz [ label="set volatile" ]; Uz -> Uz [ label="set unused" ]; Sz -> Sz [ label="set stable" ]; Sz -> Vz [ label="set volatile" ]; Sz -> Uz [ label="set unused" ]; Vz -> Sz [ label="set stable" ]; Vz -> Vz [ label="set volatile" ]; Vz -> Uz [ label="set unused" ]; Ur -> Uz [ label="host evict" ]; Sz -> Sr [ label="guest write" ]; Sr -> Sp [ label="host swap" ]; Sp -> Sr [ label="guest access" ]; Sp -> Uz [ label="guest discard" ]; Sp -> Vz [ label="set volatile" ]; Pr -> Sp [ label="host discard dirty" ]; Pr -> Vz [ label="host discard clean" ]; }