blob: dbbeb5413ec9889943ba834e57e7c3670770aa1d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
% Registration Large Receive Offload implementation in
% Neterion 10GbE Ethernet driver
% Leonid Grossman (leonid@neterion.com)
The benefits of Transmit Side Offload (TSO)
implementation in Ethernet ASICs and device
drivers are well known. TSO is a \textit{de facto}
standard in 2.6 Linux kernel and provides
significant reduction in \%cpu utilization,
especially with 1500 MTU. On a cpu-bound
system, these cycles translate into dramatic
throughput increase. Unlike TOE, stateless
offloads do not break the Linux stack and do
not introduce security and support issues.
Stateless offload benefits are especially
apparent at 10 Gigabit rates. 10GbE sender
with TSO hardware support uses a fraction of a
single cpu to run at line rate, leaving plenty
of cycles for applications. On the receiver
side, the Linux stack presently does not have
a stateless offload similar to TSO. Receiver
\%cpu typically becomes a bottleneck that
prevents 10GbE adapters from reaching line
rate with 1500 mtu. Neterion hw/sw Large
Receive Offload (LRO) solution was designed to
address this bottleneck and further reduce TCP
processing overhead on the receiver. Both
design and performance results will be
presented.
|