IP Library Granted Patent US 8,842,562
Granted Patent B2
US 8,842,562 · App. 13/281,192 · Granted Sep 23, 2014

Method of handling network traffic through optimization of receive side scaling

Inventors: Matthew L. Domsch (Austin, TX); Hendrich M. Hernandez (Round Rock, TX); Robert L. Winter (Leander, TX); Shawn J. Dube (Austin, TX)
Assignee: Dell Products, LP
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,842,562
App. No.
13/281,192
Filed
Oct 25, 2011
Granted
Sep 23, 2014
Kind
B2
Examiner
PHAN, MAN U
Art Unit
2475
USPC
370/252
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.

Claims (78)

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.

2. The information handling system of claim 1 , further comprising:

a hash type module that implements a plurality of hash type operations, each hash type operation being operable to select a field of the first network data packet;

wherein:

determining the first pointer is in response to the hash type module implementing a first one of the hash type operations; and

the RSS module further selects the first hash type operation.

3. The information handling system of claim 2 , wherein the RSS module selects the first hash type operation in response to determining a load on the first processor.

4. The information handling system of claim 1 , further comprising:

a hash function module that implements a plurality of hash function operations, each hash function operation being operable to select a hash function to perform on the first network data packet;

wherein:

determining the first pointer is in response to the hash function module implementing a first one of the hash function operations; and

the RSS module further selects the first hash function operation.

5. The information handling system of claim 4 , wherein the RSS module selects the first hash function in response to determining a load on the first processor.

6. The information handling system of claim 1 , wherein the process scheduler:

moves the process from the first processor to a third one of the processors; and

directs the RSS module to associate the first pointer with the third processor in response to moving the process to the third processor.

7. The information handling system of claim 1 , wherein:

a second network data packet received by the information handling system determines a second pointer that identifies a third one of the processors; and

in response to determining the second pointer, second information associated with the second network data packet is transferred to the cache memory of the third processor.

8. The information handling system of claim 1 , wherein transferring the first information includes:

transferring the first information to a receive memory buffer of the information handling system; and

transferring the first information from the receive memory buffer to the first cache memory of the first processor.

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.

10. The network interface device of claim 9 , further comprising:

a hash type module that implements a plurality of hash type operations, each hash type operation being operable to select a field of the first network data packet;

wherein:

determining the first pointer is in response to the hash type module implementing a first one of the hash type operations; and

the RSS module further selects the first hash type operation.

11. The network interface device of claim 9 , further comprising:

a hash function module that implements a plurality of hash function operations, each hash function operation being operable to select a hash function to perform on the first network data packet;

wherein:

determining the first pointer is in response to the hash function module implementing a first one of the hash function operations; and

the RSS module further selects the first hash function operation.

12. The network interface of claim 11 , wherein the RSS module selects the first hash function operation in response to determining a load on the first processor.

13. The network interface device of claim 9 , wherein the RSS module associates the first pointer with a third one of the processors in response to the process scheduler moving the process from the first processor to the third processor.

14. The network interface device of claim 9 , wherein:

a second network data packet received by the network interface device determines a second pointer that identifies a third one of the processors; and

in response to determining the second pointer, second information associated with the second network data packet is transferred to the cache memory of the third processor.

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.

16. The method of claim 15 , further comprising:

retrieving a hash type capability of the information handling system; and

setting a hash type in further response to determining the optimal processor;

wherein the determining is in further response to retrieving the hash type capability.

17. The method of claim 15 , further comprising:

retrieving a hash function capability of the information handling system; and

setting a hash function in further response to determining the optimal processor;

wherein the determining is in further response to retrieving the hash function capability.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2011
From: DOMSCH, MATTHEW L.; HERNANDEZ, HENDRICH M.; WINTER, ROBERT L.; DUBE, SHAWN J.
To: DELL PRODUCTS, LP
Reel/Frame 027186/0372 →
Continuity (1)
Related Publication 20130103871A1 · Apr 25, 2013