Method for resolving mutex contention in a network system
First Claim
Patent Images
1. A network interface unit, the network interface unit coupling a network to a plurality of processing entities, the network interface unit comprising:
- a plurality of resources, the plurality of resources including;
a plurality of direct memory access (DMA) channels each dedicated to a respective one of the plurality of processing entities and a portion of memory assigned to that processing entity;
a plurality of buffers each coupled to and dedicated to a respective one of the plurality of direct memory access channels; and
a packet classifier configured to, for each packet of a plurality of packets received by the network interface unit from the network, assign the packet to a particular direct memory access channel of the plurality of direct memory access channels based on information within the packet;
wherein the network interface unit is configured to;
for each packet of the plurality of packets, store the packet in a particular buffer of the plurality of buffers that is dedicated to the particular direct memory access channel to which the packet is assigned; and
provide the plurality of processing entities with concurrent access to the network interface unit without mutex contention on the plurality of resources;
wherein the network interface unit, the network, and the plurality of processing entities are each distinct from each other.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of resolving mutex contention within a network interface unit which includes providing a plurality of memory access channels, and moving a thread via at least one of the plurality of memory access channels, the plurality of memory access channels allowing moving of the thread while avoiding mutex contention when moving the thread via the at least one of the plurality of memory access channels is disclosed.
-
Citations
20 Claims
-
1. A network interface unit, the network interface unit coupling a network to a plurality of processing entities, the network interface unit comprising:
-
a plurality of resources, the plurality of resources including; a plurality of direct memory access (DMA) channels each dedicated to a respective one of the plurality of processing entities and a portion of memory assigned to that processing entity; a plurality of buffers each coupled to and dedicated to a respective one of the plurality of direct memory access channels; and a packet classifier configured to, for each packet of a plurality of packets received by the network interface unit from the network, assign the packet to a particular direct memory access channel of the plurality of direct memory access channels based on information within the packet; wherein the network interface unit is configured to; for each packet of the plurality of packets, store the packet in a particular buffer of the plurality of buffers that is dedicated to the particular direct memory access channel to which the packet is assigned; and provide the plurality of processing entities with concurrent access to the network interface unit without mutex contention on the plurality of resources; wherein the network interface unit, the network, and the plurality of processing entities are each distinct from each other. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A network interface unit, the network interface unit coupling a network to a plurality of processing entities, the network interface unit comprising:
-
a plurality of direct memory access channels each dedicated to a respective one of the plurality of processing entities and a portion of memory assigned to that processing entity, the plurality of direct memory access channels including; a plurality of receive memory access channels; and a plurality of transmit memory access channels; a plurality of buffers each coupled to and dedicated to a respective one of the plurality of direct memory access channels, the plurality of buffers including; a plurality of receive buffers; and
,a plurality of transmit buffers; a plurality of network ports coupled to and dedicated to a respective one of the plurality of buffers; and a packet classifier configured to, for each packet of a plurality of packets received by the network interface unit from the network via one of said plurality of network ports, assign the packet to a particular receive memory access channel of the plurality of direct memory access channels based on information within the packet; wherein the network interface unit is configured to, for each packet of the plurality of packets, store the packet in a particular receive buffer of the plurality of buffers that is dedicated to the particular receive memory access channel to which the packet is assigned; wherein the network interface unit, the network, and the plurality of processing entities are each distinct from each other. - View Dependent Claims (10, 11)
-
-
12. A method for preventing mutex contention over resources of a network interface unit that couples a network to a plurality of processing entities, the network interface unit comprising a packet classifier, the method comprising:
-
for each given one of a plurality of direct memory access (DMA) channels, dedicating that given direct memory access channel to a respective one of the plurality of processing entities and a portion of memory assigned to that processing entity; for each given buffer of a plurality of buffers coupled to the plurality of direct memory access channels, dedicating that given buffer to a respective one of the plurality of direct memory access channels; for each packet of a plurality of packets received by the network interface unit from the network, using the packet classifier to assign the packet to a particular direct memory access channel of the plurality of direct memory access channels based on information within the packet; for each packet of the plurality of packets, using the network interface unit to store the packet in a particular buffer of the plurality of buffers that is dedicated to the particular direct memory access channel to which the packet is assigned; and using the network interface unit to provide the plurality of processing entities with concurrent access to the network interface unit without mutex contention on the plurality of resources; wherein the network interface unit, the network, and the plurality of processing entities are each distinct from each other. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification