We present a technique for efficient stateless model checking of programs that execute under the relaxed memory models TSO and PSO The basis for our technique is a novel representation of executions under TSO and PSO  called chronological traces