From: Stephen Hemminger <shemminger@vyatta.com>
Date: Thu, 27 Aug 2009 13:55:15 +0000 (+0000)
Subject: pktgen: avoid calling gettimeofday
X-Git-Tag: firefly_0821_release~12983^2~263
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5c9d191c166233e723e632e79bcca2127a5fece9;p=firefly-linux-kernel-4.4.55.git

pktgen: avoid calling gettimeofday

If not using delay then no need to update next_tx after
each packet sent. This allows pktgen to send faster especially
on systems with slower clock sources.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index bce9bf4b4a62..b7302e18764a 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -3450,15 +3450,17 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev)
 			pkt_dev->last_ok = 0;
 		}
 
-		pkt_dev->next_tx_us = getCurUs();
-		pkt_dev->next_tx_ns = 0;
+		if (pkt_dev->delay_us || pkt_dev->delay_ns) {
+			pkt_dev->next_tx_us = getCurUs();
+			pkt_dev->next_tx_ns = 0;
 
-		pkt_dev->next_tx_us += pkt_dev->delay_us;
-		pkt_dev->next_tx_ns += pkt_dev->delay_ns;
+			pkt_dev->next_tx_us += pkt_dev->delay_us;
+			pkt_dev->next_tx_ns += pkt_dev->delay_ns;
 
-		if (pkt_dev->next_tx_ns > 1000) {
-			pkt_dev->next_tx_us++;
-			pkt_dev->next_tx_ns -= 1000;
+			if (pkt_dev->next_tx_ns > 1000) {
+				pkt_dev->next_tx_us++;
+				pkt_dev->next_tx_ns -= 1000;
+			}
 		}
 	}
 	__netif_tx_unlock_bh(txq);