public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steve Parker <sparker@sparker.net>
To: Kurt Roeckx <Q@ping.be>, Tim Hockin <thockin@sun.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	arjanv@redhat.com, saw@sw-soft.com
Subject: Re: [PATCH] eepro100 - need testers
Date: Wed, 05 Dec 2001 08:59:45 -0800	[thread overview]
Message-ID: <4.2.2.20011205085135.00ab0e88@slither> (raw)
In-Reply-To: <20011205022610.A757@ping.be>
In-Reply-To: <3C0D54DF.4E897B70@sun.com> <E167w6n-0001dz-00@fenrus.demon.nl> <3C0D54DF.4E897B70@sun.com>

At 05:26 PM 12/4/2001 , Kurt Roeckx wrote:
>On Tue, Dec 04, 2001 at 02:57:35PM -0800, Tim Hockin wrote:
> > -#define TX_RING_SIZE 32
> > -#define RX_RING_SIZE 32
> > +#define TX_RING_SIZE 64
> > +#define RX_RING_SIZE 1024
>
>Why do I have the feeling that you're just changing those values
>so you get less chance of having the problem?  Are there any
>other reason why you change this?  It might even be a good idea
>to test it with lower values.

If you test with lower values, I find that the problem happens so often that
bidirectional TCP bulk throughput tests on 100Mbits/sec ethernet are 
significantly
lower.  As Tim pointed out, the RX ring size is chosen based on being large 
enough
to receive steadily and only require the ISR to come by and empty it once 
every jiffy.
In order to provide good performance and survivability on maximum packet 
rate loads,
it needs to be 1024, although it's moderately good on 512, on my 300MHz K6 
system.



> > -                     } else if ((status & 0x003c) == 0x0008) { /* No 
> resources. */
> > -                             struct RxFD *rxf;
> > -                             printk(KERN_WARNING "%s: card reports no 
> resources.\n",
> > -                                             dev->name);
>
>[...]
>
> > +             switch ((status >> 2) & 0xf) {
> > +             case 0: /* Idle */
> > +                     break;
> > +             case 1: /* Suspended */
> > +             case 2: /* No resources (RxFDs) */
> > +             case 9: /* Suspended with no more RBDs */
> > +             case 10: /* No resources due to no RBDs */
> > +             case 12: /* Ready with no RBDs */
> > +                     speedo_rx_soft_reset(dev);
> > +                     break;
>
>You can also argue that you're trying to fix the problem by
>hiding it.  It would be useful that it still reported the same
>error message, so you can see that if it happens again with the
>patch that it no longer locks up.

The printk significantly reduces TCP throughput on my tests, it doesn't tell me
about an interesting condition, so I removed it.  This state happens any 
time the chip receives
more than a ring buffer full before the ISR can empty it, which is 
something which
is always possible.

And any way, why would you care to know?  Is there something you'ld imagine
doing because you saw the message?


Cheers,

	~sparker


  parent reply	other threads:[~2001-12-05 17:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E167w6n-0001dz-00@fenrus.demon.nl>
2001-12-04 22:57 ` [PATCH] eepro100 - need testers Tim Hockin
2001-12-04 23:15   ` Edward Muller
2001-12-05  1:26   ` Kurt Roeckx
2001-12-05 16:59   ` Steve Parker [this message]
2001-12-05 19:36     ` Mike Fedyk
2001-12-06 23:34   ` Alan Cox
2001-12-06 23:28     ` Tim Hockin
2001-12-06 23:36     ` Jeff Garzik
2001-12-07  1:05       ` Tim Hockin
2001-12-10  3:42   ` Ben Greear
2001-12-24  3:24   ` Ben Greear
2001-12-28 18:52     ` Jeremy Jackson
2001-12-31  3:28       ` Ben Greear
2001-12-07  1:30 Leif Sawyer
  -- strict thread matches above, loose matches on Subject: below --
2001-12-11 15:00 Zwane Mwaikambo
2001-12-29 19:01 Peter Hartzler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4.2.2.20011205085135.00ab0e88@slither \
    --to=sparker@sparker.net \
    --cc=Q@ping.be \
    --cc=arjanv@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=saw@sw-soft.com \
    --cc=thockin@sun.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox