Facilitating recording a trace file of code execution using way-locking in a set-associative processor cache
First Claim
1. A computing device for facilitating recording a trace of code execution using a set-associative processor cache, the computing device comprising:
- one or more processing units associated with at least one set-associative processor cache that includes a plurality of sets of cache lines, each set comprising two or more different cache lines;
system memory; and
one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processing units to cause the computing device to perform at least the following;
reserve one or more cache lines in one or more of the plurality of sets of cache lines for caching only locations in the system memory that are allocated to a particular executable entity;
during a traced execution of the particular executable entity, detect that a cache miss has occurred on a location in the system memory that is allocated to a particular executable entity, and that a value at the location of system memory has been, or is to be, cached into one of the reserved cache lines; and
based at least on the value at the location of system memory being cached into one of the reserved cache lines, log into a trace data stream at least a portion of the value at the location of system memory being cached into the one of the reserved cache lines.
1 Assignment
0 Petitions
Accused Products
Abstract
Facilitating recording a trace of code execution using way-locking in a set-associative processor cache. A computing device reserves cache line(s) in set(s) of cache lines of a set-associative cache for caching only locations in the system memory that are allocated to a particular executable entity. During a traced execution of the particular executable entity, the computing device detects that a cache miss has occurred on a location in the system memory that is allocated to a particular executable entity, and that a value at the location of system memory is being cached into one of the reserved cache lines. Based on the value at the location of system memory being cached into a reserved cache line, the computing device logs into a trace data stream at least a portion of the value at the location of system memory being cached into the reserved cache line.
-
Citations
20 Claims
-
1. A computing device for facilitating recording a trace of code execution using a set-associative processor cache, the computing device comprising:
-
one or more processing units associated with at least one set-associative processor cache that includes a plurality of sets of cache lines, each set comprising two or more different cache lines; system memory; and one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processing units to cause the computing device to perform at least the following; reserve one or more cache lines in one or more of the plurality of sets of cache lines for caching only locations in the system memory that are allocated to a particular executable entity; during a traced execution of the particular executable entity, detect that a cache miss has occurred on a location in the system memory that is allocated to a particular executable entity, and that a value at the location of system memory has been, or is to be, cached into one of the reserved cache lines; and based at least on the value at the location of system memory being cached into one of the reserved cache lines, log into a trace data stream at least a portion of the value at the location of system memory being cached into the one of the reserved cache lines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, implemented at a computing device that includes one or more processing units associated with at least one set-associative processor cache that includes a plurality of sets of cache lines, each set comprising two or more different cache lines, for facilitating recording a trace of code execution using a set-associative processor cache, the method comprising:
-
locking one or more cache lines in one or more of the plurality of sets of cache lines for caching only locations in a system memory that are allocated to a particular executable entity; during a traced execution of the particular executable entity, detecting that a cache miss has occurred on a location in the system memory that is allocated to a particular executable entity, and that a value at the location of system memory has been, or is to be, cached into one of the locked cache lines; and based at least on the value at the location of system memory being cached into one of the locked cache lines, logging into a trace data stream at least a portion of the value at the location of system memory being cached into the one of the locked cache lines. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing device, comprising:
-
one or more processing units; a processor cache that includes a plurality of cache lines; and stored control logic that is configured to; group the plurality cache lines into a plurality of sets of cache lines, each set comprising two or more different cache lines; based upon a request, lock one or more cache lines in one or more of the plurality of sets of cache lines for caching only locations in system memory that are identified based upon a memory address associated with a traced executable entity; detect a cache miss on a particular location in the system memory that is identified based upon the memory address associated with the traced executable entity; and as a result of detecting the cache miss, cache a value at the particular location in the system memory; and initiate logging of the value at the particular location in the system memory into a log file associated with tracing of the traced executable entity. - View Dependent Claims (18, 19, 20)
-
Specification