Mechanisms to detect priority inversion
First Claim
Patent Images
1. A method for identifying priority inversion, comprising:
- receiving a higher priority thread;
receiving a lower priority thread;
executing a debugging application for debugging;
requesting and holding a resource by the lower priority thread;
hitting a break point by the lower priority thread;
preempting the lower priority thread by the higher priority thread, wherein debugging stops until the higher priority thread completes;
requesting, by the higher priority thread, the resource being held by the lower priority thread; and
determining whether priority inversion occurs;
wherein a priority of the higher priority thread and the lower priority thread are configured to be changed during a debug mode;
associating break point priority to the higher priority thread, a middle priority thread, and to the lower priority thread, in which when the higher priority thread hits its high priority breakpoint, the high priority break point causes all lower priority threads to break including the middle priority thread and the lower priority thread;
wherein when the middle priority thread hits its middle priority break point, the lower priority thread breaks while the higher priority thread continues running to identify priority inversion.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, computer program product, and device are provided for detecting and identifying priority inversion. A higher priority thread and a lower priority thread are received. A debugging application for debugging is executed. The lower priority thread requests and holds a resource. A break point is hit by the lower priority thread. The lower priority thread is preempted by the higher priority thread, and debugging stops until the higher priority thread completes. The higher priority thread requests the resource being held by the lower priority thread. It is determined whether priority inversion occurs.
20 Citations
20 Claims
-
1. A method for identifying priority inversion, comprising:
-
receiving a higher priority thread; receiving a lower priority thread; executing a debugging application for debugging; requesting and holding a resource by the lower priority thread; hitting a break point by the lower priority thread; preempting the lower priority thread by the higher priority thread, wherein debugging stops until the higher priority thread completes; requesting, by the higher priority thread, the resource being held by the lower priority thread; and determining whether priority inversion occurs; wherein a priority of the higher priority thread and the lower priority thread are configured to be changed during a debug mode; associating break point priority to the higher priority thread, a middle priority thread, and to the lower priority thread, in which when the higher priority thread hits its high priority breakpoint, the high priority break point causes all lower priority threads to break including the middle priority thread and the lower priority thread; wherein when the middle priority thread hits its middle priority break point, the lower priority thread breaks while the higher priority thread continues running to identify priority inversion. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product, tangibly embodied on a non-transitory computer readable medium, for identifying priority inversion, the computer program product including instructions for causing a computer to execute a method, comprising:
-
receiving a higher priority thread; receiving a lower priority thread; executing a debugging application for debugging; requesting and holding a resource by the lower priority thread; hitting a break point by the lower priority thread; preempting the lower priority thread by the higher priority thread, wherein debugging stops until the higher priority thread completes; requesting, by the higher priority thread, the resource being held by the lower priority thread; and determining whether priority inversion occurs; wherein a priority of the higher priority thread and the lower priority thread are configured to be changed during a debug mode; associating break point priority to the higher priority thread, a middle priority thread, and to the lower priority thread, in which when the higher priority thread hits its high priority breakpoint, the high priority break point causes all lower priority threads to break including the middle priority thread and the lower priority thread; wherein when the middle priority thread hits its middle priority break point, the lower priority thread breaks while the higher priority thread continues running to identify priority inversion. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing device configured to identify priority inversion, the computer comprising:
-
a processor; memory coupled to the processor, an application being resident in the memory and executing on the processor, the application comprising instructions to cause the processor to; receive a higher priority thread; receive a lower priority thread; execute a debugging application for debugging; request and hold a resource by the lower priority thread; hit a break point by the lower priority thread; preempt the lower priority thread by the higher priority thread, wherein debugging stops until the higher priority thread completes; request, by the higher priority thread, the resource being held by the lower priority thread; and determine whether priority inversion occurs; wherein a priority of the higher priority thread and the lower priority thread are configured to be changed during a debug mode; associating break point priority to the higher priority thread, a middle priority thread, and to the lower priority thread, in which when the higher priority thread hits its high priority breakpoint, the high priority break point causes all lower priority threads to break including the middle priority thread and the lower priority thread; wherein when the middle priority thread hits its middle priority break point, the lower priority thread breaks while the higher priority thread continues running to identify priority inversion. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification