* 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).