netdev
[Top] [All Lists]

Re: 3c59x.c

To: becker@xxxxxxxxx (Donald Becker)
Subject: Re: 3c59x.c
From: kuznet@xxxxxxxxxxxxx (Alexey Kuznetosv)
Date: Mon, 27 Mar 2000 19:25:16 +0800 (SGT)
Cc: netdev@xxxxxxxxxxx
In-reply-to: <Pine.LNX.4.10.10003261100590.783-100000@vaio.greennet> from "Donald Becker" at Mar 27, 2000 12:13:19 AM
Sender: owner-netdev@xxxxxxxxxxx
Hello!

> for seven years.  In the past seven months significant, poorly considered
> changes were made to the driver interface.  For most of those changes I
> wasn't consulted, or even given warning about them.

Donald, I apologize, but I daresay you seems to have short memory.
The changes in interface driver <-> linux/net were proposed by you
on September 20 1998. If you forgot this I can bounce your draft
back to you.

It is worth to note that massive changes in the names
of routines (sort of hard_start_xmit() -> queue_tx()) proposed
by you are not made. tbusy is renamed not to tx_full, but encapsulated
to macros instead. But if I rememeber correctly, even name
netif_wake_queue() was invented by you.


> Some of the interface changes were obviously first passes, and had never
> really been tested.  They were quickly fixed,

? They are finished on September 1999 and no bits were changed since that
time.


> Yes, there are races in some drivers.  But I don't believe there are any
> here.
> 
> The driver interface should be designed so that locking is unnecessary in
> most common cases.

Top level provides proper serialization to allow unload/load
modules any moment. Actually, MOD_* reference count is not a true reference
count (it is broken in this sense, by the way), but rather plain hint
for automatic module unloader.

> You should be able to ignore the timeout.  The semantics of watchdog
> timeouts are that they are never called during a transmit attempt.

Right.

> Hmmm, actually, that *should* be reviewed.  I can't find anyplace that the
> new semantics in pre-2.4 have been defined, so there may well be a new race
> condition here.

I said you several times that no semantic changes to the interface
driver<->core may be made without your advice. It is your right
not to believe to this warranty, certainly.

tx_timeout routine was invented by you and does the thing, which
you expected, if I understood your proposal correctly.
Actually, it would be not so bad, if _you_ prepared this patch,
then you would not have such terrible suspections, I think.
I am sorry, I honestly waited for it for year and we had no more
time to wait.

Alexey

<Prev in Thread] Current Thread [Next in Thread>