Greg KH wrote:

> On Thu, Mar 15, 2001 at 09:58:22PM -0800, Miles Lane wrote:
> 
>> We should go through some formal decision process, rather than 
>> deciding to use uhci just because its kinks are worked out.  The other
>> factors should be weighed before we make our choice.
> 
> 
> If you remember the last time we tried to do this, I kept a tally of
> everyone's testing reports, which drivers worked with which, what
> different speeds were, and lots of other things.  I tallied them,
> reported them, and then...
> 
> In good open source spirit we threw it all away and said "who cares, let
> the user decide." :)

Whoops.  Wrong decision.

> (actually neither driver was "better" than the other, they both worked
> differently, causing some devices to only work with one, some with the
> other, and most with both.  So the decision was an easy one.)

Respectfully, I think this decision may have made sense at the time,
but it's time to stop wasting development time, testing time and
user's time.  I have seen many messages from users saying, "Hey,
my device XXXXX doesn't work with UHCI HCD XXXXX."  To which someone
responds, "Try the other UHCI driver."  This usually satisfies the
user.  But what if we get a user with two devices and neither
HCD supports both devices?  Let's face it, users should not have
to think about this stuff.  In fact, everything should "just work"
and user's should never have to write to us.  Our response shouldn't
be, "Oh, use the other driver."  It should be, "Drat, let's fix that
so noone else has to write in about that bug."

> Personally I like having two UHCI drivers, gives me a better test spread
> for my device drivers, but I might just be weird in that way...

Just think for a minute about what impact it would have if, for each 
device supported by driver code in the kernel tree, we had two similar,
but different, drivers.  Really, my mind boggles.  How about yours?

I can only think of one device supported in the kernel tree that
currently has two drivers -- the AIC7XXX SCSI hardware.  This is a 
temporary situation where a new AIC7XXX SCSI driver has been introduced 
into the kernel tree.  The difference is that the decision to drop
the old driver and migrate to the new one has already been made.  
The old driver will only linger until the new driver has gotten 
extensive testing.  If I understand this situation correctly, the
new AIC7XXX driver is being actively developed by the hardware 
manufacturer in an open development process and the Linux SCSI 
development community have already agreed that this new driver is 
better code.

As for your desire to compare performance differences, et cetera:
I really prefer that everyone focus on tuning one driver by just 
thinking really hard about how the code works, analyzing it and 
studying and testing alternate patches to that one driver to 
ascertain which patches make the most improvement.  I think that 
this is how the memory management development group does most of 
its work.  They just explore a lot of alternative approaches, but 
they work from one code base.  I think the most important thing, 
IMVHO, is that the MM team tests a lot of patches that never make 
it into the kernel tree.  They stay somewhere in:

        ftp://ftp.kernel.org/pub/linux/kernel/people/*

There, people toss ideas around and make things better.  They don't
clog up the process for users or even other kernel developers.
If you, Georg and Johannes want to maintain private patches or
HCDs, even, to help you explore performance tweaking ideas, okay.
But, please, not in the main kernel tree. And, really, it makes
more sense to work from a common driver code base.

One last problem with having two equal but different code bases
is that borrowing a good idea from one implementation may not
be very straightforward.  So we wind up not really benefitting
very much from the comparison.  In other words, users don't get
one best driver to use, they get two drivers that act a bit 
differently and, under the hood, work quite differently.

        Miles


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to