Message synchronization in network processors
AssigneeIntel Corporation
InventorAlwyn Dos Remedios
Life of this patent
Estimating the term…
Abstract
Message synchronization in network processors includes passing data from a producer processor to an inter-processor ring structure, while setting a bit in a register and reading the register by a consumer processor, while clearing the register. Messages are passed by removing data from the ring with the amount of data removed from the ring corresponding to a number of bits set in the register.
Claims50
A method, comprising:
- passing data from a producer processor to an inter-processor ring structure, and setting a bit in a register;
- reading the register by a consumer processor, while clearing the register;
- and
- removing from the ring, data passed to the ring from the producer processor, with the amount of data removed from the ring corresponding to a number of bits set in the register.
A method placing data on an inter-processor ring, the method comprising:
- passing data from a producer processor to an inter-processor ring structure, while setting a bit in a register;
- storing the data on the inter-processor ring;
- setting a bit in a self-destruct register corresponding to the bit in a global_cnt;
- and
- signaling a thread in a processing microengine that data are available to be read from the inter-processor ring.
A method to read data off of an inter-processor ring comprises:
- waking up a thread when a signal sent from a producer is set;
- reading a self-destruct register;
- setting a value in a local register;
- checking the value in the local register and if the local register value indicates that data are available,
- processing data off of the inter-processor ring;
- and
- removing one of the set bits from the local register.
A system, comprising:
- an inter-processor ring;
- a producer processor that passes data to the inter-processor ring, while setting a bit in a register;
- a consumer processor to read the register and clearing the register to remove from the ring, data passed to the ring from the producer processor, with the amount of data removed from the ring corresponding to a number of bits set in the register.
A system comprising:
- an inter-processor ring;
- a global_cnt register;
- a producer processor passing data to the inter-processor ring structure to populate the ring with bytes in a message, while setting a bit in the global_cnt register;
- a self-destruct register having a bit position that is set corresponding to the bit in the global_cnt register;
- and
- a consumer processing microengine that is signaled by a thread in the producer microengine that a message is available to be read.
A system comprises:
- a network processor having at least a producer microengine and a consumer microengine, a self-destruct register and a local register;
- an inter-processor ring structure accessible by the network processor;
- the network processor;
- and
- a computer readable medium for storing instructions for storing instructions for causing a consumer microengine to:
- check a value in the local register and if the local register value indicates that messages are available,
- process data off of the inter-processor ring, and
- remove one of the set bits from the local register;
- a media access controller device to send packets to and from the network processor.
A computer program product residing on a computer readable medium for synchronizing messaging between a pair of processing engines, comprises instructions for causing a processor to:
- pass data from a producer processor to an inter-processor ring structure, while setting a bit in a register;
- read the register by a consumer processor, while clearing the register and removing from the ring, data passed to the ring from the producer processor, with the amount of data removed from the ring corresponding to a number of bits set in the register.
Dependencies are inferred from the claim text.