DragonFly BSD
DragonFly kernel List (threaded) for 2004-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

if_em update (Re: if_em and ip aliases)


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 16 Mar 2004 13:53:49 -0800 (PST)

:I noticed last night that it takes over 3 seconds to add an ip alias on this
:driver.  While it's bringing up the alias, the kernel is unresponsive.
:After discussing this with Hiten, he made a patch that brought our driver in
:sync with FreeBSD.  Here's a link:
:
:http://www.sublimic.com/~hmp/dragonfly/if_em+integ.diff
:
:After this patch I was able to bring up 254 aliases in about 73 seconds.
:..

    All right, I finally got my GigE switches and cards!  I can finally
    do some real GigE testing in my workroom without having to turn on one
    of those blasted Dell2550's :-)

    I have patched in the EM update and so far it works like a charm on
    my Shuttle AMD64 boxes.

    (Server side has cached all the data and isn't going to the hard drive
    for these tests)

    Default NFS mount (8K r/w):

	dhcp62# dd if=/mnt/test of=/dev/null bs=32k
	16384+0 records in
	16384+0 records out
	536870912 bytes transferred in 8.186223 secs (65582248 bytes/sec)

    mount_nfs -r 32768 -w 32768  dhcp61:/home /mnt

	dhcp62# dd if=/mnt/test of=/dev/null bs=32k
	16384+0 records in
	16384+0 records out
	536870912 bytes transferred in 8.132268 secs (66017366 bytes/sec)

    mount_nfs -r 32768 -w 32768 -a2 dhcp61:/home /mnt

	dhcp62# dd if=/mnt/test of=/dev/null bs=32k
	16384+0 records in
	16384+0 records out
	536870912 bytes transferred in 5.997798 secs (89511337 bytes/sec)

						    ^^^^^^^^^^^^^
						I am officially impressed

    Ok, I am officially impressed.  90 MBytes/sec without any serious tuning
    is impressive.  The cpu on each box was still 75% idle running that
    last test, too.  The interrupt rate was around 8000 interrupts/sec, using
    a standard MTU.

    Now lets try TCP:

    mount_nfs -T dhcp61:/home /mnt

	dhcp62# dd if=/mnt/test of=/dev/null bs=32k
	16384+0 records in
	16384+0 records out
	536870912 bytes transferred in 6.567702 secs (81744106 bytes/sec)

    mount_nfs -T -r 32768 -w 32768 -a2 dhcp61:/home /mnt

	dhcp62# dd if=/mnt/test of=/dev/null bs=32k
	16384+0 records in
	16384+0 records out
	536870912 bytes transferred in 6.314970 secs (85015592 bytes/sec)

    Also very impressive.  And, even more to the point, it hasn't crashed or
    hicuped on me yet.

    Unfortunately it apears that the cheap NetGear GigE switches I bought
    can't handle Jumbo frames.  The switch's LED blinks on the port I'm
    transmitting the jumbo ping's on, but the LED on the target machine's
    port does not blink, so the switch is eating the jumbo packets.  Ah well.

    In anycase, I will do a final review of the patch set and commit it 
    today.  Kudos!

						-Matt




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