Re: VirtualPC tulip bug, more info

Donald Becker <[email protected]> Fri, 30 Jan 2004 16:05:37 -0500 (EST)
Newsgroups gmane.linux.drivers.tulip.general
Message-ID <[email protected]>
On Fri, 30 Jan 2004, Schneider, Andrew wrote:

> Subject: [tulip] VirtualPC tulip bug, more info
>
> I've tried to alter some of the parameters in the driver to try and fix the
> problem.
> 
> I'm getting two different error messages:
>  eth0: Too much work during an interrupt, csr=...

What is the exact value?  That might tell us what the emulator is doing.

>  eth0: Restarted Rx at nn / nn

This means that the Rx queue filled and the receiver stopped.
My guess is that the VirtualPC emulator isn't handling this case
correctly.

> I've upped the max work value so that I don't get the first message but I
> still get the restarted message. I tried changing the tx and rx ring sizes
> and tx queue length but I still get the restarted message.

That's a good start: the emulator is obviously "cheating" by stuffing
packets into the Rx ring differently than the real hardware.  My guess is
that it puts all waiting packets into the Rx ring, then raises the
virtual interrupt.  Thus no matter what the driver does, during some
cycles the queue will be filled to the stopping point.  And once
stopped, the emulator does not correctly handle the restart.

A similar gap apparently exists with the Tx emulation.  The driver
knows that no packets will take longer than six seconds to
send on a functioning physical Ethernet.  If it does take longer, the
transmitter has hung and must be reset.  But the emulator doesn't check
the "start Tx" signal or poll the Tx queue, thus occasionally taking
much longer to virtually send the packet.

We might be able to work around bugs in VirtualPC, but keep in mind that
they are bugs in the emulation, not bugs in the driver itself.

-- 
Donald Becker				[email protected]
Scyld Computing Corporation		http://www.scyld.com
914 Bay Ridge Road, Suite 220		Scyld Beowulf cluster systems
Annapolis MD 21403			410-990-9993

_______________________________________________
tulip mailing list, [email protected]
To change to digest mode or unsubscribe visit
http://www.scyld.com/mailman/listinfo/tulip