Patent ID: 7853928
Filing Date: 2010-12-14
Classification: G06F

Abstract:
1. A method comprising: reading a plurality of virtual trace records that are associated with a plurality of virtual processors that are allocated to a plurality of logical partitions in a computer system, wherein each of the virtual trace records comprises an identifier of one of a plurality of physical processors to which the virtual processor was dispatched, a wait timestamp that specifies a time at which the virtual processor began waiting to be dispatched, and a wait time delta that specifies an amount of time that the virtual processor waited to be dispatched; creating an execute timestamp in each of the virtual trace records, wherein the execute timestamp comprises a sum of the wait timestamp and the wait time delta from the virtual trace record; sorting the plurality of virtual trace records for each of the plurality of virtual processors by the execute timestamp; creating a plurality of physical trace records associated with the plurality of physical processors based on the plurality of virtual trace records, wherein each of the plurality of physical trace records describes a dispatch of one of the virtual processors to one of the physical processors, wherein the plurality of virtual processors represent fractional allocations of time slices of the plurality of physical processors, wherein each of the virtual trace records further comprises a dispatch reason that caused the virtual processor to be dispatched to the one of the plurality of physical processors, and wherein the creating the plurality of physical trace records further comprises copying the dispatch reason from the virtual trace record that comprises the identifier of the one of a plurality of physical processors to a corresponding one of the plurality of physical trace records that describes the dispatch of the one of the virtual processors to the one of the physical processors, wherein the creating the plurality of physical trace records further comprises creating a respective partition identifier in each of the plurality of physical trace records, wherein the partition identifier identifies the respective logical partition to which the respective virtual processor was allocated, wherein the creating the plurality of physical trace records further comprises creating a respective start timestamp in each of the plurality of physical trace records, wherein the respective start timestamp comprises a sum of the wait timestamp and the wait time delta from a corresponding record in the plurality of virtual trace records, wherein the corresponding record in the plurality of virtual trace records comprises the execute timestamp that is identical to the respective start timestamp in the plurality of physical trace records, wherein the creating the plurality of physical trace records further comprises creating a respective virtual processor identifier in each of the plurality of physical trace records, wherein the respective virtual process identifier identifies the respective virtual processor that was dispatched at the respective start timestamp, wherein the creating the plurality of physical trace records further comprises creating a respective current virtual processing time in each of the plurality of physical trace records, wherein the respective current virtual processing time specifies an amount of time for which the plurality of physical processors were allocated to the plurality of virtual processors specified by the virtual processor identifier subsequent to a time indicated by the respective start timestamp, wherein the respective current virtual processing time comprises the wait timestamp of a next virtual trace record that follows a current virtual trace record in time, wherein the current virtual trace record corresponds to a current physical trace record, minus the start timestamp of the current physical trace record; and displaying the plurality of physical trace records.