3c59x with linuxppc

Bogdan Costescu Bogdan.Costescu@IWR.Uni-Heidelberg.De
Fri May 5 11:01:14 2000


On Thu, 4 May 2000, Donald Becker wrote:

> > This is strange because the driver mainly was changed from cli/sti to
> > spinlocks.
> 
> This is a significant change -- it's not a trivial modifications.

Sorry, I meant that the way we treat the hardware is the same. I do
understand the differences between cli/sti and spinlocks.

> But since the 3c590 is old and rare, it's not worth providing more than
> functional (not high performance) support.

That's the reason why (IMHO) we should continue the trend (that you
started) of writting separate routines for different enough card
architectures. Andrew already split the interrupt handler in the 2.3
driver and I suppose that this will be the next step in the 2.2 driver;
I have in preparation some further changes for Tornado based cards
(905C and 980).

> The primary "gotcha" with the 3c905 is the rarely accessed media selection
> and statistics.  Otherwise there should be no need for locks.  Given
> that the media selection is rare, using cli()/sti() is a better choice
> even if they are much more expensive than spinlocks on SMP machines.

I beg to disagree here. I was the one who discovered and fixed about 2
weeks ago a race between boomerang_start_xmit and the interrupt handler
(present in 0.99H/L/M/N). As they both handle cur_tx, dirty_tx and tx_full
you have to protect them; it's not enough to have them "incremented
atomically at the proper point" (from the netdev list posting) as long as
they are also used in comparisons which can change from TRUE to FALSE (or
vice-versa) if the execution is delayed by some cycles.
Also, you have the window handling...

> The set_rx_mode() is called a two or three times at initialization.  (The
> 'ifconfig' program doesn't group all of the flags that need to be set.)
> It's also called whenever the multicast list or filtering mode changes.

Thank you for the info, I didn't know this.

> Load testing involves leaving several different machines running flat-out
> for a few days.  Be sure to use different machine types e.g. an old P-100
> era machine and a BX chipset, because the burst mode behavior is
> dramatically different.

I do test this way. My main interest is using these cards in a Beowulf
cluster, as fast and stable as possible. This includes weeks of running
under continuous high load (both CPU and network).
I only have BX chipset based motherboards, so I can't help here, but the
driver will be included in the 2.2.16pre kernels and I hope that this will
give us enough feedback.

Sincerely,

Bogdan Costescu

IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De

-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-vortex-request@beowulf.org