Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 03 Apr 2005 10:28:17 +0300
From:      Petri Helenius <pete@he.iki.fi>
To:        Chris Tracy <chris@maxgigapop.net>
Cc:        freebsd-net@freebsd.org
Subject:   Re: can't get linerate TCP iperf between two Intel PRO/1000 82544GC cards
Message-ID:  <424F9B11.6090403@he.iki.fi>
In-Reply-To: <20050403011248.S72062@lunarlander.maxgigapop.net>
References:  <20050403011248.S72062@lunarlander.maxgigapop.net>

next in thread | previous in thread | raw e-mail | index | archive | help

Does somebody have the programming specs for the em chips? Despite of 
multiple contacts and promises Intel has been unable to produce them.

Pete


Chris Tracy wrote:

> Hi,
>
> I have been attempting to get iperf to generate a line-rate TCP flow
> (~989Mbps) across a GigE link but can only get a maximum of around
> 912Mbps.
>
> The bottleneck appears to be on the sending side, as top shows the CPU
> for the iperf process at 50% (machine is a dual Xeon 2.4GHz with SMP
> and HTT enabled) and the WCPU column goes to 99%.
>
> Presumably the CPU is busy computing checksums, so I took a look at
> if_em.c to find out more about what kind of hardware checksum
> offloading features might be available, and I found this:
>
>         if (adapter->hw.mac_type >= em_82543) {
>                 if (ifp->if_capenable & IFCAP_TXCSUM)
>                         ifp->if_hwassist = EM_CHECKSUM_FEATURES;
>
> I wasn't sure which chipset I had, so I checked the output of pciconf:
>
> # pciconf -v -l |grep 8254
>     device   = '82544GC Gigabit Ethernet Controller (LOM)'
>
> I then tried an ifconfig em0, and it indeed shows the rxcsum and
> txcsum options listed in the output.  However, executing something
> like 'ifconfig em0 txcsum' doesn't seem to help with the CPU issue.
>
> I took a look at /usr/src/sys/dev/em/README and didn't see the GC
> flavor of this card mentioned anywhere, nor any details or known
> limitations with regard to checksum offloading.  I'm assuming GC means
> Gigabit Copper since these are the 1000bT versions.
>
> I also have some 82544EI/GC cards which I haven't gotten around to
> testing yet because of a jumbo frame issue on one of the layer3
> devices in between the hosts with those cards.
>
> At this point, all that I can think of doing is to try and add some
> debug statements to the driver so that I might be able to get a better
> idea of what's going on with the hardware checksum...maybe it is
> already offloading correctly and the CPU bottleneck is being caused by
> something else?
>
> I can provide additional details if needed, but please include my
> email in the reply as I'm not subscribed to the list.  Any help would
> be most appreciated.  I've had no problems doing 989Mbps in Linux, but
> I'd really prefer to run FreeBSD.
>
> Thanks,
> -Chris
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?424F9B11.6090403>