Method of handling network traffic through optimization of receive side scaling
First Claim
1. An network interface device comprising:
- a receive side scaler that;
provides a first pointer of a plurality of pointers to point to a first processor of a plurality of processors, wherein each pointer identifies a respective processor; and
provides a first interrupt of a plurality of interrupts to be associated with the first processor, wherein each interrupt is associated with a respective processor;
wherein the network interface device;
receives a first data packet;
selects the first pointer in response to receiving the first network data packet;
transfers the first data packet to the first processor in response to selecting the first pointer; and
provides the first interrupt to the first processor in response to transferring the first data packet; and
wherein the receive side scaler further;
directs a process scheduler to move a process associated with the first data packet from the first processor to a second processor of the plurality of processors; and
in response to directing the process scheduler, to;
changes the first pointer to point to a second processor of the plurality of processors; and
changes the association of the first interrupt to be associated with the second processor.
13 Assignments
0 Petitions
Accused Products
Abstract
An information handling system includes a plurality of processors that each includes a cache memory, and a receive side scaling (RSS) indirection table with a plurality of pointers that each points to one of the processors. A network data packet received by the information handling system determines a pointer to a first processor. In response to determining the pointer, information associated with the network data packet is transferred to the cache memory of the first processor. The information handling system also includes a process scheduler that moves a process associated with the network data packet from a second processor to the first processor, and an RSS module that directs the process scheduler to move the process and associates the first pointer with the processor in response to directing the process scheduler.
30 Citations
16 Claims
-
1. An network interface device comprising:
-
a receive side scaler that; provides a first pointer of a plurality of pointers to point to a first processor of a plurality of processors, wherein each pointer identifies a respective processor; and provides a first interrupt of a plurality of interrupts to be associated with the first processor, wherein each interrupt is associated with a respective processor; wherein the network interface device; receives a first data packet; selects the first pointer in response to receiving the first network data packet; transfers the first data packet to the first processor in response to selecting the first pointer; and provides the first interrupt to the first processor in response to transferring the first data packet; and wherein the receive side scaler further; directs a process scheduler to move a process associated with the first data packet from the first processor to a second processor of the plurality of processors; and in response to directing the process scheduler, to; changes the first pointer to point to a second processor of the plurality of processors; and changes the association of the first interrupt to be associated with the second processor. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
providing, by a receive side scaling (RSS) module of a network interface device, a first pointer of a plurality of pointers to point to a first processor of a plurality of processors, wherein each pointer identifies a respective processor; providing, by the RSS module, a first interrupt of a plurality of interrupts to be associated with the first processor, wherein each interrupt is associated with a respective processor; receiving, by the network interface device, a first data packet; selecting, by the network interface device, the first pointer in response to receiving the first data packet; transferring, by the network interface device, the first data packet to the first processor in response to selecting the first pointer; providing, by the network interface device, the first interrupt to the first processor in response to transferring the first data packet; directing, by the RSS module, a process scheduler to move a process associated with the first data packet from the first processor to a second processor of the plurality of processors; in response to directing the process scheduler; changing, by the RSS module, the first point to point to a second processor of the plurality of processors; and changing, by the RSS module, the association of the first interrupt to be associated with the second processor; receiving, by the network interface device, a second data packet associated with the process; selecting, by the network interface device, the first pointer in response to receiving the second data packet; transferring, by the network interface device, the second network data packet to the second processor in response to selecting the first pointer; and providing, by the network interface device, the first interrupt to the second processor in response to transferring the second network data packet. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium including code for performing a method, the method comprising:
-
providing, by a receive side scaling (RSS) module of a network interface device, a first pointer of a plurality of pointers to point to a first processor of a plurality of processors, wherein each pointer identifies a respective processor; providing, by the RSS module, a first interrupt of a plurality of interrupts to be associated with the first processor, wherein each interrupt is associated with a respective processor; receiving, by the network interface device, a first data packet; selecting, by the network interface device, the first pointer in response to receiving the first data packet; transferring, by the network interface device, the first data packet to the first processor in response to selecting the first pointer; providing, by the network interface device, the first interrupt to the first processor in response to transferring the first data packet; directing, by the RSS module, a process scheduler to move a process associated with the first data packet from the first processor to a second processor of the plurality of processors; and in response to directing the process scheduler; changing, by the RSS module, the first point to point to a second processor of the plurality of processors; and changing, by the RSS module, the association of the first interrupt to be associated with the second processor. - View Dependent Claims (13, 14, 15, 16)
-
Specification