Processing a data packet
AssigneeIntel Corporation
InventorsDonald F. Hooper, Mark B. Rosenbluth, Gilbert Wolrich, Matthew J. Adiletta, Hugh M. Wilkinson, III, Robert J. Kushlis
Life of this patent
Estimating the term…
Abstract
A device and method for processing a data packet at a device are described. The device receives data packets and determines available memory in one or more of local memories of a plurality of execution threads. The device stores packet information in an available one of the local memories of the execution threads.
Claims26
A method of processing a data packet at a device, the method comprising:
- receiving a data packet;
- detecting available memory in one or more of local memories of a plurality of execution threads;
- when the detecting available memory in the one or more of local memories of the plurality of execution threads indicates that at least one of the plurality of execution threads is available to process the received data packet, storing packet information in an available one of the local memories of the execution threads;
- detecting available memory in a dispatcher memory that is separate from the local memories of the execution threads;
- and
- storing the packet information in the detected available dispatcher memory when the detecting available memory in the one or more of local memories of the plurality of execution threads indicates that the execution threads are unavailable to process the received data packet.
A computer program product, disposed on a computer readable medium, for processing a data packet at a device, the program comprising instructions for causing a processor to:
- receive a data packet;
- detect available memory in one or more of local memories of a plurality of execution threads;
- when the detect available memory in one or more of local memories of a plurality of execution threads indicates that at least one of the plurality of execution threads is available to process the received data packet, store packet information in a available one of the local memories of the execution threads;
- detect available memory in a dispatcher memory that is separate from the local memories of the execution threads;
- and
- store the packet information in the detected available dispatcher memory when the detect available memory in the one or more of local memories of the plurality of execution threads indicates the execution threads are unavailable to process the received data packet.
A system for processing a data packet, the system comprising:
- at least one communication port;
- at least one Ethernet MAC (Medium Access Control) device coupled to at least one of the at lest one communication ports;
- and
- at least one processor comprising:
- one or more local memories of a plurality of execution threads, and
- a dispatcher memory that is separate from the one or more local memories of the execution threads,
- wherein the least one processor is configured to
- access the at least one Ethernet MAC device,
- receive a data packet,
- detect available memory in the one or more of local memories of a plurality of execution threads,
- store packet information in an available one of the local memory of the execution threads when the detect available memory in one or more of the local memories of the plurality of execution threads indicated that at least one of the plurality execution threads is available to process the received data packet,
- detect available memory in the dispatcher memory that is separate from the local memories of the execution threads, and
- store the packet information in the detected available dispatcher memory when the detect available memory in the one or more of local memories of the plurality of execution threads indicates that the execution threads are unavailable to process the received data packet.
A device for processing a data packet comprising:
- a packet receiver buffer to receive a data packet;
- one or more local memories of a plurality of execution threads coupled to the packet receiver packet;
- a packet dispatcher coupled to the packet receiver buffer to detect available memory in the one or more of local memories of a plurality of execution threads, and when the detect available memory in the one or more of local memories of the plurality of execution threads indicates that at least one of the plurality of execution threads are available to process the received data packet, store packet information in an available one of the local memories of the execution threads;
- and
- a dispatcher memory coupled to the packet dispatcher, wherein the packet dispatcher is configured to detect available memory in the dispatcher memory and when the detect available memory in the one or more of local memories of the plurality of execution threads indicates the execution threads are unavailable to process the received data packet, store the packet information in the detected available dispatcher memory.
Dependencies are inferred from the claim text.