Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jan 2004 18:10:21 +0100
From:      <gerald.heinig@ngi.de>
To:        hackers@freebsd.org
Subject:   ping duplicates under load
Message-ID:  <20040112172956.6368643D69@mx1.FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Hi all,

I've noticed a very weird phenomenon with ping which I can't explain.

I have two machines with 2 NICs.
When I started a ping -f with larger packet size (-s 3052) with NIC 1
and simultaneously hammered NIC 2 with UDP using ttcp, I got duplicate
ping replies (on NIC 1, of course). Not many: only about 1 in 10000 to
100000, but still, I can't explain it.
Since I had a similar problem a while back with another driver I
developed (for OS X) and that turned out to be due to lost interrupts
and my ISR not terminating quickly enough, I decided to limit the number
of iterations of my ISR to 3.
That improved the situation somewhat: I now only get 1 duplicate ping in
1E8.
The real kicker is: I see this effect when my driver is the one doing
the UDP receive. The ping duplicates also happen with other card
drivers, so it's not a simple transmit/receive ring problem with my
driver. When I use a different card driver to do the UDP receives, the
effect goes away.

It seems like the receive interrupt activity on my driver affects the
ping replies of the _other_ drivers.

Does anyone have any idea what could be going on?

Cheers,

Gerald



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