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.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/