From owner-freebsd-net@FreeBSD.ORG Tue Apr 10 22:33:47 2012 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 15817106566C; Tue, 10 Apr 2012 22:33:47 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.59.238]) by mx1.freebsd.org (Postfix) with ESMTP id C81E38FC08; Tue, 10 Apr 2012 22:33:45 +0000 (UTC) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id 9AF9B7300A; Wed, 11 Apr 2012 00:52:57 +0200 (CEST) Date: Wed, 11 Apr 2012 00:52:57 +0200 From: Luigi Rizzo To: current@freebsd.org, net@freebsd.org Message-ID: <20120410225257.GB53350@onelab2.iet.unipi.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Cc: Subject: strange ping response times... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 22:33:47 -0000 I noticed this first on a 10G interface, but now there seems to be a similar issue on the loopback. Apparently a ping -f has a much lower RTT than one with non-zero delay between transmissions. Part of the story could be that the flood version invokes a non-blocking select. On the other hand, pinging on the loopback should make the response available right away, so what could be the reason for the additional 3..10us in the ping response time ? The following are numbers on an i7-2600k at 3400 MHz + turboboost, running stable/9 amd64. Note how the min ping time significantly increases moving from flood to 10ms to 1s. On an Intel 10G interface i am seeing a min of 14-16us with a ping flood, and up to 33-35us with the standard 1s interval (using -q probably trims another 2..5us) > sudo ping -c 1000 -q -f 127.0.0.1 round-trip min/avg/max/stddev = 0.002/0.003/0.012/0.001 ms > sudo ping -c 1000 -q -f 127.0.0.1 round-trip min/avg/max/stddev = 0.002/0.002/0.013/0.001 ms > sudo ping -c 1000 -q -f 127.0.0.1 round-trip min/avg/max/stddev = 0.002/0.002/0.013/0.001 ms > sudo ping -c 10000 -q -f 127.0.0.1 round-trip min/avg/max/stddev = 0.002/0.002/0.011/0.001 ms > sudo ping -c 1000 -q -i 0.01 127.0.0.1 round-trip min/avg/max/stddev = 0.005/0.012/0.017/0.001 ms > sudo ping -c 1000 -q -i 0.01 127.0.0.1 round-trip min/avg/max/stddev = 0.004/0.012/0.016/0.001 ms > sudo ping -c 200 -q -i 0.01 127.0.0.1 round-trip min/avg/max/stddev = 0.007/0.012/0.017/0.002 ms > sudo ping -c 200 -q -i 0.01 127.0.0.1 round-trip min/avg/max/stddev = 0.005/0.012/0.018/0.002 ms > sudo ping -c 200 -q -i 0.01 127.0.0.1 round-trip min/avg/max/stddev = 0.009/0.012/0.020/0.002 ms > sudo ping -c 200 -q -i 0.01 127.0.0.1 round-trip min/avg/max/stddev = 0.006/0.012/0.016/0.001 ms > sudo ping -c 200 -q -i 0.1 127.0.0.1 round-trip min/avg/max/stddev = 0.007/0.014/0.020/0.001 ms > sudo ping -c 200 -q -i 0.1 127.0.0.1 round-trip min/avg/max/stddev = 0.006/0.014/0.019/0.002 ms > sudo ping -c 200 -q -i 0.1 127.0.0.1 round-trip min/avg/max/stddev = 0.007/0.014/0.021/0.001 ms > sudo ping -c 200 -q -i 0.1 127.0.0.1 round-trip min/avg/max/stddev = 0.007/0.014/0.020/0.001 ms > sudo ping -c 200 -q -i 0.1 127.0.0.1 round-trip min/avg/max/stddev = 0.006/0.014/0.021/0.002 ms > sudo ping -c 200 -q -i 0.1 127.0.0.1 round-trip min/avg/max/stddev = 0.010/0.014/0.022/0.001 ms > sudo ping -c 20 -q -i 1 127.0.0.1 round-trip min/avg/max/stddev = 0.013/0.018/0.022/0.002 ms > sudo ping -c 20 -q -i 1 127.0.0.1 round-trip min/avg/max/stddev = 0.012/0.018/0.021/0.002 ms > sudo ping -c 20 -q -i 1 127.0.0.1 round-trip min/avg/max/stddev = 0.009/0.017/0.018/0.002 ms > sudo ping -c 20 -q -i 1 127.0.0.1 round-trip min/avg/max/stddev = 0.011/0.017/0.021/0.002 ms > sudo ping -c 20 -q -i 1 127.0.0.1 round-trip min/avg/max/stddev = 0.010/0.017/0.020/0.002 ms > sudo ping -c 20 -q -i 1 127.0.0.1 round-trip min/avg/max/stddev = 0.009/0.017/0.028/0.004 ms cheers luigi