New API: Difference between revisions

Content deleted Content added
m External links: http / https
m clean up, typo(s) fixed: Therefore → Therefore, using AWB
Line 8:
 
==Motivation==
A straightforward method of implementing a network driver is to interrupt the kernel by issuing an [[interrupt request]] (IRQ) for each and every incoming packet. However, servicing IRQs is costly in terms of processor resources and time. Therefore, the straightforward implementation can be very inefficient in high-speed networks, constantly interrupting the kernel with the thousands of packets per second. Overall performance of the system as well as network throughput can suffer as a result.
 
[[Polling (computer science)|Polling]] is an alternative to interrupt-based processing. The kernel can periodically check for the arrival of incoming network packets without being interrupted, which eliminates the overhead of interrupt processing. Establishing an optimal polling frequency is important, however. Too frequent polling wastes CPU resources by repeatedly checking for incoming packets that have not yet arrived. On the other hand, polling too infrequently introduces latency by reducing system reactivity to incoming packets, and it may result in the loss of packets if the incoming packet buffer fills up before being processed.
Line 34:
| url = http://www.usenix.org/publications/library/proceedings/als01/full_papers/jamal/jamal.pdf
| title = Beyond softnet
|author1=Jamal Hadi Salim |author2=Robert Olsson |author3=Alexey Kuznetsov | date = 2001-11-10
| author = Jamal Hadi Salim, Robert Olsson, Alexey Kuznetsov
| date = 2001-11-10
| conference = 5th Annual Linux Showcase & Conference (ALS '01)
| conferenceurl = http://www.usenix.org/publications/library/proceedings/als01/
Line 58 ⟶ 57:
}}
*{{cite book
| author author1= Jonathan Corbet, |author2=Alessandro Rubini, |author3=Greg Kroah-Hartman | title = Linux Device Drivers
| title = Linux Device Drivers
| url = https://lwn.net/Kernel/LDD3/
| chapter = Chapter 17: Networking drivers