×

Cache-based tracing for time travel debugging and analysis

  • US 10,031,833 B2
  • Filed: 08/31/2016
  • Issued: 07/24/2018
  • Est. Priority Date: 08/31/2016
  • Status: Active Grant
First Claim
Patent Images

1. A computer system, comprising:

  • one or more processors, each including a corresponding processor data cache; and

    one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to record a replay-able trace of execution of an executable entity based on misses within a processor data cache, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following;

    execute one or more threads of the executable entity across one or more processing units of the one or more processors; and

    during execution of the one or more threads, record a separate replay-able trace for each thread independently, including, for each thread;

    recording initial processor register state for a particular processing unit, of the one or more processing units, that is executing the thread;

    upon detecting a cache miss within the particular processing unit'"'"'s corresponding processor data cache based on execution of the thread, recording at least one line of cache data imported into the corresponding processor data cache in response to the processor data cache miss;

    detecting an occurrence of a discontinuity in execution of the thread, wherein one or more entries are imported in the corresponding processor data cache during the discontinuity in execution of the thread; and

    based at least on the occurrence of the discontinuity in execution of the thread, flushing the one or more imported entries in the corresponding processor data cache, wherein the flushed entries are not recorded in the separate replay-able trace.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×