Method of handling network traffic through optimization of receive side scaling
First Claim
1. An information handling system comprising:
- a plurality of processors, each processor including a cache memory;
a receive side scaling (RSS) indirection table including a plurality of pointers, each pointer identifying a respective processor, wherein;
a first network data packet received by the information handling system determines a first one of the pointers, wherein the first pointer identifies a first one of the processors; and
in response to determining the first pointer, first information associated with the first network data packet is transferred to the cache memory of the first processor;
a process scheduler that moves a process associated with the first network data packet from a second one of the processors to the first processor;
an RSS module that;
directs the process scheduler to move the process; and
associates the first pointer with the first processor in response to directing the process scheduler; and
a message signaled interrupt (MSI-X) table including a plurality of interrupts, wherein each interrupt;
is associated with a respective pointer; and
identifies the respective processor, such that when an associated pointer is determined, the MSI-X table provides an interrupt to the respective processor;
wherein the RSS module further associates a first interrupt with the first processor in response to directing the process scheduler.
14 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.
-
Citations
17 Claims
-
1. An information handling system comprising:
-
a plurality of processors, each processor including a cache memory; a receive side scaling (RSS) indirection table including a plurality of pointers, each pointer identifying a respective processor, wherein; a first network data packet received by the information handling system determines a first one of the pointers, wherein the first pointer identifies a first one of the processors; and in response to determining the first pointer, first information associated with the first network data packet is transferred to the cache memory of the first processor; a process scheduler that moves a process associated with the first network data packet from a second one of the processors to the first processor; an RSS module that; directs the process scheduler to move the process; and associates the first pointer with the first processor in response to directing the process scheduler; and a message signaled interrupt (MSI-X) table including a plurality of interrupts, wherein each interrupt; is associated with a respective pointer; and identifies the respective processor, such that when an associated pointer is determined, the MSI-X table provides an interrupt to the respective processor; wherein the RSS module further associates a first interrupt with the first processor in response to directing the process scheduler. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A network interface device comprising:
-
a receive side scaling (RSS) indirection table including a plurality of pointers, each pointer identifying a respective processor, wherein; a first network data packet received by the network interface device determines a first one of the pointers, wherein the first pointer identifies a first one of the processors; and in response to determining the first pointer, first information associated with the first network data packet is transferred to the cache memory of the first processor; an RSS module that; directs a process scheduler to move a process associated with the first network data packet from a second one of the processors to the first processor; and associates the first pointer with the first processor in response to directing the process scheduler; and a message signaled interrupt (MSI-X) table including a plurality of interrupts, wherein each interrupt; is associated with a respective pointer; and identities the respective processor, such that when an associated pointer is determined, the MSI-X table provides an interrupt to the respective processor; wherein the RSS module further associates a first interrupt with the first processor espouse to directing the process scheduler. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
retrieving a process scheduling policy from a process scheduler of an information handling system; retrieving a receive side scaling (RSS) indirection table of the information handling system; determining an optimal processor of the information handling system on which to run a process, wherein the determining is in response to retrieving the process scheduling policy and to retrieving the RSS indirection table; in response to determining the optimal processor; scheduling by the process scheduler the process on the optimal processor; and setting an RSS pointer of the RSS indirection table to point to the optimal processor; retrieving a message signaled interrupt table of the information handling system; and setting MSI-X pointer of the MSI-X table to provide an interrupt to the optimal processor in further response to determining the optimal processor; wherein the determining is in further response to retrieving the MSI-X table. - View Dependent Claims (16, 17)
-
Specification