IP Library Granted Patent US 7,328,293
Granted Patent B2
US 7,328,293 · App. 11/716,377 · Granted Feb 5, 2008

Queued locks using monitor-memory wait

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,328,293
App. No.
11/716,377
Granted
Feb 5, 2008
Kind
B2
Abstract

A method, apparatus, and system are provided for monitoring locks using monitor-memory wait. According to one embodiment, a node associated with a contended lock is monitored; and a processor seeking the contended lock is put to sleep until a monitor event occurs.

Claims (44)

1. A method comprising:

causing a processor to exit a sleep state in response to an event, wherein exiting the sleep state comprises resuming control of processing resources that were relinquished by the processor during the sleep state; and

disabling monitoring of a node associated with a contended lock after the processor exits the sleep state.

2. The method of claim 1 , further comprising putting the processor to sleep until the event has occurred.

3. The method of claim 2 , further comprising relinquishing resources when put to sleep.

4. The method of claim 3 , wherein the relinquishing of the resources comprises:

relinquishing of a plurality of registers in a register pool;

relinquishing of a plurality of instruction queue entries in an instruction queue;

relinquishing of a plurality of store buffer entries in a store buffer; and relinquishing of a plurality of re-order buffer entries in a re-order buffer.

5. The method of claim 1 , further comprising reacquiring the relinquished resources.

6. The method of claim 1 , further comprising forming larger resources for non-sleeping processors to utilize while the processor sleeps, the larger resources including the relinquished resources.

7. The method of claim 1 , further comprising:

monitoring the node associated with the contended lock; and

identifying the processor while waiting for the contended lock.

8. An apparatus comprising:

a first logic to cause a processor to exit a sleep state in response to an event, wherein exiting the sleep state comprises resuming control of processing resources that were relinquished by the processor during the sleep state; and

a second logic to disable monitoring of a node associated with a contended lock after the processor exits the sleep state.

9. The apparatus of claim 8 , wherein the first logic is further to put the processor to sleep until the event has occurred.

10. The apparatus of claim 9 , wherein the processor to relinquish resources when put to sleep.

11. The apparatus of claim 10 , wherein the relinquishing of the resources comprises:

relinquishing of a plurality of registers in a register pool;

relinquishing of a plurality of instruction queue entries in an instruction queue;

relinquishing of a plurality of store buffer entries in a store buffer; and

relinquishing of a plurality of re-order buffer entries in a re-order buffer.

12. The apparatus of claim 8 , wherein the second logic is further to reacquire the relinquished resources.

13. The apparatus of claim 8 , wherein the second logic is further to form larger resources for non-sleeping processors to utilize while the processor sleeps, the larger resources including the relinquished resources.

14. The apparatus of claim 8 , further comprising a third logic to:

monitor the node associated with the contended lock; and

identify the processor while waiting for the contended lock.

15. A tangible machine-readable storage medium comprising instructions which, when executed, cause the machine to:

cause a processor to exit a sleep state in response to an event, wherein exiting the sleep state comprises resuming control of processing resources that were relinquished by the processor during the sleep state; and

disable monitoring of a node associated with a contended lock after the processor exits the sleep state.

16. The tangible machine-readable storage medium of claim 15 , wherein the instructions which when executed, further cause the machine to put the processor to sleep until the event has occurred.

17. The tangible machine-readable storage medium of claim 16 , wherein the instructions which when executed, further cause the machine to relinquish resources when put to sleep.

18. The tangible machine-readable storage medium of claim 17 , wherein the instructions when executed to relinquish the resources, further cause the machine to:

relinquishing of a plurality of registers in a register pool;

relinquishing of a plurality of instruction queue entries in an instruction queue;

relinquishing of a plurality of store buffer entries in a store buffer; and

relinquishing of a plurality of re-order buffer entries in a re-order buffer.

19. The tangible machine-readable storage medium of claim 15 , further comprising reacquiring the relinquished resources.

20. The tangible machine-readable storage medium of claim 15 , wherein the instructions which when executed, further cause the machine to form larger resources for non-sleeping processors to utilize while the processor sleeps, the larger resources including the relinquished resources.

21. The tangible machine-readable storage medium of claim 15 , wherein the instructions which when executed, further cause the machine to:

monitor the node associated with the contended lock; and

identify the processor while waiting for the contended lock.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →