Symmetric multi-processor lock tracing
First Claim
1. A method of testing, comprising:
- receiving, by a lock testing tool in a symmetric multiprocessing (SMP) information handling system (IHS), a trace buffer size as an argument of a lock trace command;
allocating the trace buffer size, by the SMP IHS in response to the receiving by the lock testing tool the trace buffer size, wherein the trace buffer size represents the maximum amount of system memory allocated for the collection of lock trace data;
receiving, by the lock testing tool in the SMP IHS, another lock trace command that exhibits an absence of lock data in another argument thereof;
interpreting, by the lock testing tool, the absence of lock data in the another argument of the another lock trace command as a directive to perform a lock trace operation on all locks of an executing program;
determining, by the lock testing tool when a particular thread of the executing program in the SMP IHS reaches a predetermined spin threshold; and
commencing, by the lock testing tool, the lock trace operation in response to the particular thread reaching the predetermined spin threshold;
wherein the lock testing tool receives as input a maximum number of traces to capture per time period in the lock trace operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A symmetric multi-processor SMP system includes an SMP processor and operating system OS software that performs automatic SMP lock tracing analysis on an executing application program. System administrators, users or other entities initiate an automatic SMP lock tracing analysis. A particular thread of the executing application program requests and obtains a lock for a memory address pointer. A subsequent thread requests the same memory address pointer lock prior to the particular thread release of that lock. The subsequent thread begins to spin waiting for the release of that address pointer lock. When the subsequent thread reaches a predetermined maximum amount of wait time, MAXSPIN, a lock testing tool in the kernel of the OS detects the MAXSPIN condition. The OS performs a test to determine if the subsequent thread and address pointer lock meet the list of criteria set during initiation of the automatic lock trace method. The OS initiates an SMP lock trace capture automatically if all criteria or the arguments of the lock trace method are met. System administrators, software programmers, users or other entities interpret the results of the SMP lock tracing method that the OS stores in a trace table to determine performance improvements for the executing application program.
18 Citations
16 Claims
-
1. A method of testing, comprising:
-
receiving, by a lock testing tool in a symmetric multiprocessing (SMP) information handling system (IHS), a trace buffer size as an argument of a lock trace command; allocating the trace buffer size, by the SMP IHS in response to the receiving by the lock testing tool the trace buffer size, wherein the trace buffer size represents the maximum amount of system memory allocated for the collection of lock trace data; receiving, by the lock testing tool in the SMP IHS, another lock trace command that exhibits an absence of lock data in another argument thereof; interpreting, by the lock testing tool, the absence of lock data in the another argument of the another lock trace command as a directive to perform a lock trace operation on all locks of an executing program; determining, by the lock testing tool when a particular thread of the executing program in the SMP IHS reaches a predetermined spin threshold; and commencing, by the lock testing tool, the lock trace operation in response to the particular thread reaching the predetermined spin threshold; wherein the lock testing tool receives as input a maximum number of traces to capture per time period in the lock trace operation. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An information handling system (IHS), comprising
a symmetric multiprocessing (SMP) system, a memory coupled to the SMP system, the memory being configured with a lock testing tool that: -
receives a trace buffer size as an argument of a lock trace command; the memory being further configured with an operating system (OS) that; allocates the trace buffer size in response to a receiving by the lock testing tool, wherein the trace buffer size represents the maximum amount of system memory allocated for the collection of lock trace data; the memory being further configured with a lock testing tool that; receives another lock trace command that exhibits an absence of lock data in another argument thereof; interprets the absence of lock data in the another argument of the another lock trace command as a directive to perform a lock trace operation on all locks of an executing program; determines when a particular thread of the executing program in the SMP system reaches a predetermined spin threshold; and commences the lock trace operation in response to the particular thread reaching the predetermined spin threshold; wherein the lock testing tool receives as input a maximum number of traces to capture per time period in the lock trace operation. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computer program product stored on a non-transitory computer operable medium, comprising:
-
instructions that receive by a lock testing tool in a symmetric multiprocessing (SMP) information handling system (IHS), a trace buffer size as an argument of a lock trace command; instructions that allocate the trace buffer size, by the SMP IHS in response to the receiving by the lock testing tool, wherein the trace buffer size represents the maximum amount of system memory allocated for the collection of lock trace data; instructions that receive by the lock testing tool in the SMP IHS, another lock trace command that exhibits an absence of lock data in another argument thereof; instructions that interpret by the lock testing tool, the absence of lock data in the another argument of the another lock trace command as a directive to perform a lock trace operation on all locks of an executing program; instructions that determine when a particular thread of the executing program in the SMP IHS reaches a predetermined spin threshold; and instructions that commence the lock trace operation in response to the particular thread reaching the predetermined spin threshold; wherein the lock testing tool receives as input a maximum number of traces to capture per time period in the lock trace operation. - View Dependent Claims (13, 14, 15, 16)
-
Specification