IP Library Granted Patent US 8,191,073
Granted Patent B2
US 8,191,073 · App. 12/042,285 · Granted May 29, 2012

Method and system for polling network controllers

Assignee: Fortinet, Inc.
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,191,073
App. No.
12/042,285
Granted
May 29, 2012
Kind
B2
Abstract

Improving the performance of multitasking processors are provided. For example, a subset of M processors within a Symmetric Multi-Processing System (SMP) with N processors is dedicated for a specific task. The M (M>0) of the N processors are dedicate to a task, thus, leaving (N−M) processors for running normal operating system (OS). The processors dedicated to the task may have their interrupt mechanism disabled to avoid interrupt handler switching overhead. Therefore, these processors run in an independent context and can communicate with the normal OS and cooperation with the normal OS to achieve higher network performance.

Claims (32)

1. A method for improving the performance of a multi-processor system, the method comprising:

providing M general-purpose processors from N general-purpose processors to perform a a network polling task, wherein N is greater than M; and

modifying the M general-purpose processors, wherein the modification of the M general-purpose processors prevents the M general-purpose processors to perform tasks other than the network polling task and the N−M (N minus M) general-purpose processors continue to perform operating system operations;

wherein the M general-purpose processors are dedicated as network processors (NPs), and the method further comprising:

bypassing network interface controller (NIC) initialization during normal boot of the operating system;

with regard to the M general purpose processors, disabling interrupts for context switching;

reserving memory in a shared memory as a pseudo NIC; and

performing network polling by coupling the NPs and network interface controllers, via the pseudo NIC, to facilitate communication between the NPs and network interface controllers.

2. The method of claim 1 , wherein the modification comprises disabling an interrupt in the M general-purpose processors.

3. The method of claim 2 , wherein the interrupt comprises context switching interrupt.

4. The method of claim 1 , wherein the act of providing the M general-purpose processors includes obtaining control of the M general-purpose processors such that the M general-purpose processors perform the network polling task.

5. The method of claim 1 , wherein the task of polling comprises one or more of subtasks comprising: processing packets, forwarding packets, routing packets, processing content, sending packets to and from network interface controller and processing for other networks.

6. An apparatus for improving the performance of a multi-processor system, the method comprising:

means for providing M general-purpose processors from N general-purpose processors to perform a network polling task, wherein N is greater than M; and

means for modifying the M general-purpose processors, wherein the modification of the M general-purpose processors prevents the M general-purpose processors to perform tasks other than the network polling task and the N−M (N minus M) general-purpose processors continue to perform operating system operations;

wherein the M general-purpose processors are dedicated as network processors (NPs), and the apparatus further comprising:

means for bypassing network interface controller (NIC) initialization during normal boot of the operating system;

with regard to the M general purpose processors, means for disabling interrupts for context switching;

means for reserving memory in a shared memory as a pseudo NIC; and

means for performing network polling by coupling the NPs and network interface controllers, via the pseudo NIC, to facilitate communication between the NPs and network interface controllers.

7. The apparatus of claim 6 , wherein the modification comprises disabling an interrupt in the M general-purpose processors.

8. The apparatus of claim 7 , wherein the interrupt comprises context switching interrupt.

9. The apparatus of claim 6 , wherein the means for providing the M general-purpose processors include means for obtaining control of the M general-purpose processors such that the M general-purpose processors perform the network polling task.

10. A computer product having a set of instructions stored in a memory device, the execution of which causes a process to be performed, the process comprising:

providing M general-purpose processors from N general-purpose processors to perform a a network polling task, wherein N is greater than M; and

modifying the M general-purpose processors, wherein the modification of the M general-purpose processors prevents the M general-purpose processors to perform tasks other than the network polling task and the N−M (N minus M) general-purpose processors continue to perform operating system operations;

wherein the M general-purpose processors are dedicated as network processors (NPs), and the method further comprising:

bypassing network interface controller (NIC) initialization during normal boot of the operating system;

with regard to the M general purpose processors, disabling interrupts for context switching;

reserving memory in a shared memory as a pseudo NIC; and

performing network polling by coupling the NPs and network interface controllers, via the pseudo NIC, to facilitate communication between the NPs and network interface controllers.

11. The product of claim 10 , further comprising disabling an interrupt in the M general-purpose processors, wherein the interrupt comprises context switching interrupt.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2008
From: DING, JIANZU
To: FORTINET, INC.
Reel/Frame 020942/0915 →
Continuity (1)
Related Publication 20090228895A1 · Sep 10, 2009