Intent seizes in a multi-processor environment
AssigneeInternational Business Machines Corporation
InventorsGregory Alan Chaney, Robert Anthony Petrillo
Life of this patent
Estimating the term…
Abstract
A method, apparatus, system, and signal-bearing medium that in an embodiment use a requested address for an intent seize and a processor associated with the intent seize to determine a hash table entry. If the requested address is not found in the hash table, all hash tables for all processors are updated to anchor to the requested address. Non-intent seizes use a hash table associated with a designated processor, regardless of whether the designated processor initiated the non-intent seize. In this way, in an embodiment modified, cache line interventions may eliminated for intent seizes.
Claims16
A method comprising:
- if a seize request for an address is an intent seize, finding a first hash table from among a plurality of hash tables, wherein the first hash table is associated with a first processor of a plurality of processors, wherein the first processor initiated the seize request, and wherein each of the plurality of hash tables is associated with a respective one of the plurality of processors;
- determining whether the address exists in the first hash table;
- if the address exists in the first hash table and the seize request is for the intent seize, obtaining the intent seize via a resource associated with the first processor;
- and
- if the seize request for the address is a non-intent seize, finding a second hash table associated with a second processor of the plurality of processors, wherein the second hash table is designated for all non-intent seizes, regardless of whether the second processor initiated the seize request.
An apparatus comprising:
- means for determining whether a seize request for an address is an intent seize;
- means for determining a first hash table from among a plurality of hash tables based on a first processor of a plurality of processors, wherein the first processor initiated the seize request if the seize request is for the intent seize, and wherein each of the plurality of hash tables is associated with a respective one of the plurality of processors;
- means for determining whether the address exists in a hash class entry in the first hash table;
- means for obtaining the intent seize via a seize control block associated with the first processor if the address exists in the hash class entry and the seize request is for the intent seize;
- and
- means for finding a second hash table associated with a second processor of the plurality of processors, wherein the second hash table is designated for all non-intent seizes, regardless of whether the second processor initiated the seize request.
A storage medium encoded with instructions, wherein the instructions when executed comprise:
- if a seize request for an address is an intent seize, finding a first hash table from among a plurality of hash tables, wherein the first hash table is associated with a first processor of a plurality of processors, wherein the first processor initiated the seize request, and wherein each of the plurality of hash tables is associated with a respective one of the plurality of processors;
- determining whether the address exists in the first hash table;
- if the address exists in the first hash table and the seize request is for the intent seize, obtaining the intent seize via a seize control block associated with the first processor;
- if the address does not exist in the first hash table and the seize request is for the intent seize, anchoring the address in the plurality of hash tables associated with the plurality of processors;
- and
- if the seize request for the address is a non-intent seize, finding a second hash table associated with a second processor of the plurality of processors, wherein the second hash table is designated for all non-intent seizes, regardless of whether the second processor initiated the seize request.
A computer system comprising:
- a plurality of processors;
- and
- a main memory encoded with instructions, wherein the instructions when executed on at least one of the plurality of processors comprise:
- if a seize request for an address is an intent seize, finding a first hash table from among a plurality of hash tables, wherein the first hash table is associated with a first processor of the plurality of processors, wherein the first processor initiated the seize request, and wherein each of the plurality of hash tables is associated with a respective one of the plurality of processors,
- determining whether the address exists in the first hash table,
- if the address exists in the first hash table and the seize request is for the intent seize, obtaining the intent seize via a seize control block associated with the first processor,
- if the address does not exist in the first hash table and the seize request is for the intent seize, anchoring the address in the plurality of hash tables associated with the plurality of processors and linking together a plurality of seize control blocks associated with the plurality of processors, and
- if the seize request for the address is a non-intent seize, finding a second hash table associated with a second processor of the plurality of processors,
- wherein the second hash table is designated for all non-intent seizes, regardless of whether the second processor initiated the seize request.
Dependencies are inferred from the claim text.