Re: gigabit Ethernet with slow PowerPC VME processor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



First, if you haven't done so, set the MTU on all your GigE interfaces to
9000.  This should help a lot as there's a significant amount of
per-packet overhead.  Hopefully your switch supports this.

Also, if you want to take advantage of checksum offloading (doing
zero-copy), you'll have to use the sendfile(2) call.  There's really no
way around this with a sockets API.

  -John

On Fri, 25 Apr 2003, Fred Gray wrote:

> Dear linux-net,
>
> I have recently taken over the development of the data acquisition system
> for a physics experiment.  The first layer of this system needs to read data
> from custom electronics across a VME backplane at about 15 MB/s and forward
> it to a back-end machine for online analysis and storage.
>
> My predecessor invested lots of $$$ in a proprietary interconnection scheme
> that has proven to be extremely unstable in actual use.  I am trying to replace
> it with gigabit Ethernet, but I am having trouble getting acceptable
> performance.
>
> The front-end processors are Motorola MVME 2600 boards, which have 200 MHz
> PowerPC 604e CPUs.  I have equipped them with SBS Technologies PMC-Gigabit-ST3
> daughtercards, which use the Intel 82545EM chipset.  The PMC (PCI Mezzanine
> Connector--just PCI in a different form factor) slot is 66 MHz, 64-bit capable.
> I am running a 2.4.21-pre6 kernel from the linuxppc_2_4_devel BK tree,
> which includes version 4.4.19-k2 of the e1000 driver.  The back-end server
> is a 1.7 GHz Pentium 4 with an Intel PRO/1000 T Server Adapter, and they are
> connected through a D-Link DGS-1008T gigabit switch.
>
> As measured with netperf and/or ttcp, I get between 80 and 90 Mbps from
> the front-end to the back-end server, which is a 1.7 GHz Pentium 4,
> even with the socket buffer size and TCP window size set to 256KB.
> In other words, I might as well have used the built-in 100BaseT port.
> The same benchmarks give around 350 Mbps between the server and another
> gigabit-equipped PC connected through the same switch, so I don't think
> my test is intrinsically flawed.
>
> While performing these benchmarks, the CPU utilization of netperf on
> the front-end is between 90% and 100%, suggesting that the process of
> sending the data is CPU-bound.  I suppose that it might be occupied with
> computing the TCP checksum.  The documentation for the 82545EM chipset
> claims that it supports transmit checksum offloading, but the Linux e1000
> driver does not seem to use this feature, only receive checksum offloading.
>
> Is a 200 MHz PowerPC processor simply not adequate to drive a gigabit link
> faster than 80 Mbps, or do I have any options left to try?  In our controlled
> environment, I could possibly consider hacking the kernel on both ends to
> disable checksum computation and verification, but I would certainly prefer
> not to have to resort to such extreme measures, and I am in any event not
> yet certain that the overhead comes from the checksum.  I don't need full
> gigabit speed: 150 Mbps would be adequate.
>
> Thanks in advance to the networking gurus for their advice,
>
> -- Fred
>
> -- Fred Gray / Visiting Postdoctoral Researcher                         --
> -- Department of Physics / University of California, Berkeley           --
> -- fegray@socrates.berkeley.edu / phone 510-642-4057 / fax 510-642-9811 --
> -
> : send the line "unsubscribe linux-net" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux