Re: [2.4.17/18pre] VM and swap - it's really unusable

Andrew Morton
2002-01-14T10:17:04Z

Stephan von Krawczynski wrote:
>
> ...
> Unfortunately me have neither of those. This would mean I cannot benefit from
> _these_ patches, but instead would need _others_ (like tulip or
> name-one-of-the-rest-of-the-drivers) to see _some_ effect you tell me I
> _should_ see (I currently see _none_). How do you argue then against the
> statement: we need patches for /drivers/net/*.c ?? I do not expect 3c59x.c to
> be particularly bad in comparison to tulip/*.c or lets say via-rhine.c, do you?
>

In 3c59x.c, probably the biggest problem will be the call to issue_and_wait()
in boomerang_start_xmit(). On a LAN which is experiencing heavy collision rates
this can take as long as 2,000 PCI cycles (it's quite rare, and possibly an
erratum). It is called under at least two spinlocks.

In via-rhine, wait_for_reset() can busywait for up to ten milliseconds.
via_rhine_tx_timeout() calls it from under a spinlock.

In eepro100.c, wait_for_cmd_done() can busywait for one millisecond
and is called multiple times under spinlock.

Preemption will help _some_ of this, but by no means all, or enough.

-