pktgen: avoid calling gettimeofday
authorStephen Hemminger <shemminger@vyatta.com>
Thu, 27 Aug 2009 13:55:15 +0000 (13:55 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 29 Aug 2009 06:32:09 +0000 (23:32 -0700)
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>
net/core/pktgen.c

index bce9bf4b4a62497740732d6c2bad54fbb7604384..b7302e18764a0af8c2176d611236358d0030b972 100644 (file)
@@ -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);