Network performance scaling
First Claim
1. A method comprising:
- in response to receiving one or more packets on a computing platform, storing each of the one or more packets in a corresponding one of a plurality of receive queues, each of the plurality of receive queues corresponding to one of a plurality of processors on the computing platform;
generating an interrupt to an operating system on the computing platform to indicate the presence of one or more packets to be processed;
for each of the receive queues having one or more packets to be processed, scheduling a corresponding processing device structure with the operating system; and
in response to the operating system processing scheduled transactions, for each of the processing device structures, sending packets from a corresponding receive queue to a corresponding one of the plurality of processors to be processed.
0 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a method is provided. The method of this embodiment provides in response to receiving one or more packets on a computing platform, storing each of the one or more packets in a corresponding one of a plurality of receive queues, each of the plurality of receive queues corresponding to one of a plurality of processors on the computing platform; generating an interrupt to an operating system on the computing platform to indicate the presence of one or more packets to be processed; for each of the receive queues having one or more packets to be processed, scheduling a corresponding processing device structure with the operating system; and in response to the operating system processing scheduled transactions, for each of the processing device structures, sending packets from a corresponding receive queue to a corresponding one of the plurality of processors to be processed.
10 Citations
20 Claims
-
1. A method comprising:
-
in response to receiving one or more packets on a computing platform, storing each of the one or more packets in a corresponding one of a plurality of receive queues, each of the plurality of receive queues corresponding to one of a plurality of processors on the computing platform;
generating an interrupt to an operating system on the computing platform to indicate the presence of one or more packets to be processed;
for each of the receive queues having one or more packets to be processed, scheduling a corresponding processing device structure with the operating system; and
in response to the operating system processing scheduled transactions, for each of the processing device structures, sending packets from a corresponding receive queue to a corresponding one of the plurality of processors to be processed. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
create a processing device structure for each receive queue associated with a network component, each receive queue to store incoming packets, and each receive queue corresponding to one of a plurality of processors on a computing platform, each of the plurality of processors operable to process one or more packets stored on a corresponding receive queue;
indicate a packet processing ISR (interrupt service routine) to an operating system, the packet processing ISR to schedule one or more of the processing device structures for each of the receive queues having one or more packets to be processed;
in response to the operating system processing the scheduled processing device structures by indicating the processing device structures to corresponding ones of the plurality of processors, for each processing device structure, mapping back to a corresponding receive queue, retrieving one or more packets from the receive queue, and transmitting the one or more packets to the corresponding processor. - View Dependent Claims (6, 7, 8)
-
-
9. An apparatus comprising:
-
logic to;
create a processing device structure for each receive queue associated with a network component, each receive queue to store incoming packets, and each receive queue corresponding to one of a plurality of processors on a computing platform, each of the plurality of processors operable to process one or more packets stored on a corresponding receive queue;
indicate a packet processing ISR (interrupt service routine) to an operating system, the packet processing ISR to schedule one or more of the processing device structures for each of the receive queues having one or more packets to be processed;
in response to the operating system processing the scheduled processing device structures by sending the processing device structures to corresponding ones of the plurality of processors, for each processing device structure, mapping back to a corresponding receive queue, retrieving one or more packets from the receive queue, and transmitting the one or more packets to the corresponding processor. - View Dependent Claims (10, 11, 12)
-
-
13. A system comprising:
-
a Microsoft®
Windows®
operating system having knowledge of a single receive queue associated with a network component;
a network controller to interface with the operating system; and
a device driver to control the network controller, the device driver having logic to;
create a processing device structure for each receive queue associated with a network component of the network controller, each receive queue to store incoming packets, and each receive queue corresponding to one of a plurality of processors on a computing platform, each of the plurality of processors operable to process one or more packets stored on a corresponding receive queues;
indicate a packet processing ISR (interrupt service routine) to the operating system, the packet processing ISR to schedule one or more of the processing device structures for each of the receive queues having one or more packets to be processed;
in response to the operating system processing the scheduled processing device structures by sending the processing device structures to corresponding ones of the plurality of processors, for each processing device structure, mapping back to a corresponding receive queue, retrieving one or more packets from the receive queue, and transmitting the one or more packets to the corresponding processor. - View Dependent Claims (14, 15, 16)
-
-
17. An article of manufacture having stored thereon instructions, the instructions when executed by a machine, result in the following:
-
create a processing device structure for each receive queue associated with a network component, each receive queue to store incoming packets, and each receive queue corresponding to one of a plurality of processors on a computing platform, each of the plurality of processors operable to process one or more packets stored on a corresponding receive queue;
indicate a packet processing ISR (interrupt service routine) to an operating system, the packet processing ISR to schedule one or more of the processing device structures for each of the receive queues having one or more packets to be processed;
in response to the operating system processing the scheduled processing device structures by indicating the processing device structures to corresponding ones of the plurality of processors, for each processing device structure, mapping back to a corresponding receive queue, retrieving one or more packets from the receive queue, and transmitting the one or more packets to the corresponding processor. - View Dependent Claims (18, 19, 20)
-
Specification