Optimizing network driver performance and power consumption in multi-core processor-based systems

US10540300B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10540300-B2
Application numberUS-201815897871-A
CountryUS
Kind codeB2
Filing dateFeb 15, 2018
Priority dateFeb 16, 2017
Publication dateJan 21, 2020
Grant dateJan 21, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Optimizing network driver performance and power consumption in multi-core processor-based systems is disclosed. In this regard, a multi-core processor-based system provides multiple processor cores comprising one or more power-optimized processor cores and one or more performance-optimized processor cores, and a network device configured to assign network streams to a plurality of interrupts. A network driver calculates a current throughput level of the network device, and determines whether a throughput mode of the network driver should be modified to a high-throughput mode. If so, the network driver assigns each interrupt to one of the performance-optimized processor cores, and disables system reassignment of interrupts among the processor cores. Some aspects may also determine whether the throughput mode should be modified to a low-throughput mode, in which case the network driver assigns each interrupt to a same power-optimized processor core and enables system reassignment of interrupts among the processor cores.

First claim

Opening claim text (preview).

What is claimed is: 1. A multi-core processor-based system for optimizing network driver performance and power consumption, comprising: a plurality of processor cores comprising one or more power-optimized processor cores and one or more performance-optimized processor cores; a network device configured to: receive one or more network streams; and assign each of the one or more network streams to an interrupt of a plurality of interrupts; and a network driver configured to: calculate a current throughput level of the network device; determine, based on the current throughput level, whether a throughput mode of the network driver should be modified to a high-throughput mode; and responsive to determining that the throughput mode of the network driver should be modified to the high-throughput mode: assign each interrupt of the plurality of interrupts to which a network stream is assigned to a performance-optimized processor core of the one or more performance-optimized processor cores; and disable system reassignment of the plurality of interrupts among the plurality of processor cores, wherein the network driver is configured to disable the system reassignment of the plurality of interrupts among the plurality of processor cores by being configured to disable an interrupt balancer. 2. The multi-core processor-based system of claim 1 , wherein the network driver is configured to determine, based on the current throughput level, whether the throughput mode of the network driver should be modified to the high-throughput mode by being configured to determine whether the network driver is presently in a low-throughput mode and whether the current throughput level of the network device exceeds a throughput threshold of the network device. 3. The multi-core processor-based system of claim 1 , wherein the network driver is configured to disable the system reassignment of the plurality of interrupts among the plurality of processor cores by being further configured to provide a blacklist of one or more interrupts of the plurality of interrupts to be excluded from the system reassignment to the interrupt balancer. 4. The multi-core processor-based system of claim 1 , wherein the network driver is further configured to, responsive to determining that the throughput mode of the network driver should be modified to the high-throughput mode, increase a minimum clock frequency of the one or more performance-optimized processor cores to which the plurality of interrupts are assigned. 5. The multi-core processor-based system of claim 1 , wherein the network driver is further configured to update a central processing unit (CPU) state table to track a count of interrupts assigned to each processor core of the plurality of processor cores, responsive to one of a change in the throughput mode of the network driver and an assignment of an interrupt of the plurality of interrupts to a processor core of the plurality of processor cores. 6. The multi-core processor-based system of claim 5 , wherein the network driver is configured to assign each interrupt of the plurality of interrupts to the performance-optimized processor core of the one or more performance-optimized processor cores by being configured to select a performance-optimized processor core having a fewest number of assigned interrupts among the plurality of processor cores as indicated by the CPU state table. 7. The multi-core processor-based system of claim 5 , wherein the network driver is further configured to: receive, from the multi-core processor-based system, a notification that a processor core of the plurality of processor cores has been taken offline; and responsive to receiving the notification: update the CPU state table to indicate that the processor core, associated with the notification, is offline; and reassign one or more interrupts assigned to the processor core taken offline to other processor cores of the plurality of processor cores. 8. The multi-core processor-based system of claim 1 , wherein the network driver is further configured to: determine, based on the current throughput level, whether the throughput mode of the network driver should be modified to a low-throughput mode; and responsive to determining that the throughput mode of the network driver should be modified to the low-throughput mode: assign each interrupt of the plurality of interrupts to a same power-optimized processor core of the one or more power-optimized processor cores; and enable the system reassignment of the plurality of interrupts among the plurality of processor cores. 9. The multi-core processor-based system of claim 8 , wherein the network driver is configured to determine, based on the current throughput level, whether the throughput mode of the network driver should be modified to the low-throughput mode by being configured to determine whether the network driver is presently in the high-throughput mode and whether the current throughput level of the network device is below a throughput threshold of the network device. 10. The multi-core processor-based system of claim 8 , further comprising the interrupt balancer, wherein the network driver is configured to, responsive to determining that the throughput mode of the network driver should be modified to the low-throughput mode, enable the system reassignment of the plurality of interrupts among the plurality of processor cores by being configured to enable the interrupt balancer to manage distribution of the plurality of interrupts among the plurality of processor cores. 11. The multi-core processor-based system of claim 1 , wherein the multi-core processor-based system is integrated into an integrated circuit (IC). 12. The multi-core processor-based system of claim 1 , wherein the multi-core processor-based system is integrated into a device selected from a group consisting of: a set top box; an entertainment unit; a navigation device; a communications device; a fixed location data unit; a mobile location data unit; a global positioning system (GPS) device; a mobile phone; a cellular phone; a smart phone; a session initiation protocol (SIP) phone; a tablet; a phablet; a server; a computer; a portable computer; a mobile computing device; a wearable computing device; a desktop computer; a personal digital assistant (PDA); a monitor; a computer monitor; a television; a tuner; a radio; a satellite radio; a music player; a digital music player; a portable music player; a digital video player; a video player; a digital video disc (DVD) player; a portable digital video player; an automobile; a vehicle component; avionics systems; a drone; and a multicopter. 13. The multi-core processor-based system of claim 1 , further comprising the interrupt balancer, wherein the network driver is configured to, responsive to determining that the throughput mode of the network driver should be modified to the high-throughput mode, disable the system reassignment of the plurality of interrupts among the plurality of processor cores by being configured to disable the interrupt balancer from managing distribution of the plurality of interrupts among the plurality of processor cores. 14. A multi-core processor-based system for optimizing network driver performance and power consumption, comprising: a plurality of processor cores comprising one or more power-optimized processor cores and one or more performance-optimized processor cores; a means for calculating a current throughput level of a network device; a means for determining whether a throughput mode of a network driver should be modified to a high-throughput mode; a means for assigning each int

Assignees

Inventors

Classifications

  • G06F13/102Primary

    where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52) · CPC title

  • by interrupt, e.g. masked · CPC title

  • Power saving in modem or I/O interface · CPC title

  • where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title

  • Means for saving power · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10540300B2 cover?
Optimizing network driver performance and power consumption in multi-core processor-based systems is disclosed. In this regard, a multi-core processor-based system provides multiple processor cores comprising one or more power-optimized processor cores and one or more performance-optimized processor cores, and a network device configured to assign network streams to a plurality of interrupts. A…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/102. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 21 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).