netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Constant errors with pktgen
@ 2005-03-14 21:34 cliff white
  2005-03-15 15:39 ` Robert Olsson
  0 siblings, 1 reply; 4+ messages in thread
From: cliff white @ 2005-03-14 21:34 UTC (permalink / raw)
  To: Robert.Olsson, netdev


Robert.

I am doing some wrapper scripts for pktgen for some testing purposes.

My test rig is two machines with an e100 card, connected by crossover cable.

When i run pktgen, the error counter == packet count, always. 

Adding printk's, i see the error is coming from this bit past line 2688:
----------

                now = getCurUs();
                if (now > pkt_dev->next_tx_us) {
                        /* TODO: this code is slightly wonky.  */
                        pkt_dev->errors++;
                        pkt_dev->next_tx_us = now - pkt_dev->delay_us;
                        pkt_dev->next_tx_ns = 0;
                }
----------------
Any suggestions? More info if needed..
cliffw

-- 
"Ive always gone through periods where I bolt upright at four in the morning; 
now at least theres a reason." -Michael Feldman

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Constant errors with pktgen
  2005-03-14 21:34 Constant errors with pktgen cliff white
@ 2005-03-15 15:39 ` Robert Olsson
  2005-03-15 19:04   ` cliff white
  2005-03-16 22:50   ` David S. Miller
  0 siblings, 2 replies; 4+ messages in thread
From: Robert Olsson @ 2005-03-15 15:39 UTC (permalink / raw)
  To: cliff white; +Cc: Robert.Olsson, netdev


cliff white writes:

 > My test rig is two machines with an e100 card, connected by crossover 
 > cable.
 > 
 > When i run pktgen, the error counter == packet count, always. 

 I see. Try the patch patch below it cleans up the code a bit and
 restores the old meaning of error. It also has the minor fix from 
 Adrian Bunk

						--ro

--- net/core/pktgen.c.050315	2005-03-11 10:48:43.000000000 +0100
+++ net/core/pktgen.c	2005-03-15 16:16:01.000000000 +0100
@@ -151,7 +151,7 @@
 #include <asm/timex.h>
 
 
-#define VERSION  "pktgen v2.60: Packet Generator for packet performance testing.\n"
+#define VERSION  "pktgen v2.61: Packet Generator for packet performance testing.\n"
 
 /* #define PG_DEBUG(a) a */
 #define PG_DEBUG(a) 
@@ -2590,7 +2590,7 @@
         thread_unlock();
 }
 
-__inline__ void pktgen_xmit(struct pktgen_dev *pkt_dev)
+static __inline__ void pktgen_xmit(struct pktgen_dev *pkt_dev)
 {
 	struct net_device *odev = NULL;
 	__u64 idle_start = 0;
@@ -2654,7 +2654,6 @@
 	
 	spin_lock_bh(&odev->xmit_lock);
 	if (!netif_queue_stopped(odev)) {
-		u64 now;
 
 		atomic_inc(&(pkt_dev->skb->users));
 retry_now:
@@ -2678,24 +2677,18 @@
 			
 			pkt_dev->errors++;
 			pkt_dev->last_ok = 0;
-			pkt_dev->next_tx_us = getCurUs(); /* TODO */
-			pkt_dev->next_tx_ns = 0;
 		}
 
+		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;
+
 		if (pkt_dev->next_tx_ns > 1000) {
 			pkt_dev->next_tx_us++;
 			pkt_dev->next_tx_ns -= 1000;
 		}
-
-		now = getCurUs();
-		if (now > pkt_dev->next_tx_us) {
-			/* TODO: this code is slightly wonky.  */
-			pkt_dev->errors++;
-			pkt_dev->next_tx_us = now - pkt_dev->delay_us;
-			pkt_dev->next_tx_ns = 0;
-		}
 	} 
 
 	else {  /* Retry it next time */

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Constant errors with pktgen
  2005-03-15 15:39 ` Robert Olsson
@ 2005-03-15 19:04   ` cliff white
  2005-03-16 22:50   ` David S. Miller
  1 sibling, 0 replies; 4+ messages in thread
From: cliff white @ 2005-03-15 19:04 UTC (permalink / raw)
  To: Robert Olsson, netdev

On Tue, 15 Mar 2005 16:39:18 +0100
Robert Olsson <Robert.Olsson@data.slu.se> wrote:

> 
> cliff white writes:
> 
>  > My test rig is two machines with an e100 card, connected by crossover 
>  > cable.
>  > 
>  > When i run pktgen, the error counter == packet count, always. 
> 
>  I see. Try the patch patch below it cleans up the code a bit and
>  restores the old meaning of error. It also has the minor fix from 
>  Adrian Bunk
> 
Works for me
Current:
     pkts-sofar: 7400227  errors: 0
( now i have to force some errors... )
cliffw

> 						--ro
> 
> --- net/core/pktgen.c.050315	2005-03-11 10:48:43.000000000 +0100
> +++ net/core/pktgen.c	2005-03-15 16:16:01.000000000 +0100
> @@ -151,7 +151,7 @@
>  #include <asm/timex.h>
>  
>  
> -#define VERSION  "pktgen v2.60: Packet Generator for packet performance testing.\n"
> +#define VERSION  "pktgen v2.61: Packet Generator for packet performance testing.\n"
>  
>  /* #define PG_DEBUG(a) a */
>  #define PG_DEBUG(a) 
> @@ -2590,7 +2590,7 @@
>          thread_unlock();
>  }
>  
> -__inline__ void pktgen_xmit(struct pktgen_dev *pkt_dev)
> +static __inline__ void pktgen_xmit(struct pktgen_dev *pkt_dev)
>  {
>  	struct net_device *odev = NULL;
>  	__u64 idle_start = 0;
> @@ -2654,7 +2654,6 @@
>  	
>  	spin_lock_bh(&odev->xmit_lock);
>  	if (!netif_queue_stopped(odev)) {
> -		u64 now;
>  
>  		atomic_inc(&(pkt_dev->skb->users));
>  retry_now:
> @@ -2678,24 +2677,18 @@
>  			
>  			pkt_dev->errors++;
>  			pkt_dev->last_ok = 0;
> -			pkt_dev->next_tx_us = getCurUs(); /* TODO */
> -			pkt_dev->next_tx_ns = 0;
>  		}
>  
> +		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;
> +
>  		if (pkt_dev->next_tx_ns > 1000) {
>  			pkt_dev->next_tx_us++;
>  			pkt_dev->next_tx_ns -= 1000;
>  		}
> -
> -		now = getCurUs();
> -		if (now > pkt_dev->next_tx_us) {
> -			/* TODO: this code is slightly wonky.  */
> -			pkt_dev->errors++;
> -			pkt_dev->next_tx_us = now - pkt_dev->delay_us;
> -			pkt_dev->next_tx_ns = 0;
> -		}
>  	} 
>  
>  	else {  /* Retry it next time */
> 


-- 
"Ive always gone through periods where I bolt upright at four in the morning; 
now at least theres a reason." -Michael Feldman

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Constant errors with pktgen
  2005-03-15 15:39 ` Robert Olsson
  2005-03-15 19:04   ` cliff white
@ 2005-03-16 22:50   ` David S. Miller
  1 sibling, 0 replies; 4+ messages in thread
From: David S. Miller @ 2005-03-16 22:50 UTC (permalink / raw)
  To: Robert Olsson; +Cc: cliffw, Robert.Olsson, netdev

On Tue, 15 Mar 2005 16:39:18 +0100
Robert Olsson <Robert.Olsson@data.slu.se> wrote:

> 
> cliff white writes:
> 
>  > My test rig is two machines with an e100 card, connected by crossover 
>  > cable.
>  > 
>  > When i run pktgen, the error counter == packet count, always. 
> 
>  I see. Try the patch patch below it cleans up the code a bit and
>  restores the old meaning of error. It also has the minor fix from 
>  Adrian Bunk

Applied, thanks Robert.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-03-16 22:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-14 21:34 Constant errors with pktgen cliff white
2005-03-15 15:39 ` Robert Olsson
2005-03-15 19:04   ` cliff white
2005-03-16 22:50   ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).