netdev
[Top] [All Lists]

Re: mv643xx(2/20): use MII library for PHY management

To: Mark Huth <mhuth@xxxxxxxxxx>
Subject: Re: mv643xx(2/20): use MII library for PHY management
From: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 24 Aug 2005 10:33:26 +1000
Cc: Dale Farnsworth <dale@xxxxxxxxxxxxxx>, Netdev <netdev@xxxxxxxxxxx>, Jeff Garzik <jgarzik@xxxxxxxxx>, Ralf Baechle <ralf@xxxxxxxxxxxxxx>, Manish Lachwani <mlachwani@xxxxxxxxxx>, Brian Waite <brian@xxxxxxxxxxxxxx>, "Steven J. Hill" <sjhill@xxxxxxxxxxxxxxxxxx>, James Chapman <jchapman@xxxxxxxxxxx>
In-reply-to: <430BC09A.3090401@mvista.com>
References: <20050328233807.GA28423@xyzzy> <20050328234225.GB29098@xyzzy> <430BC09A.3090401@mvista.com>
Sender: netdev-bounce@xxxxxxxxxxx
On Tue, 2005-08-23 at 17:34 -0700, Mark Huth wrote:
> It's good to use the abstractions and common code, but in this case 
> there is a significant performance difference.  The MDIO read/write on 
> this family does a cpu spin wait for the mdio operation to complete. 
> Last time I measured this (back when fixing up a 2.4.20 implementation) 
> I got around 100 us for the mii_ioctl path, of which a good bit was in 
> the spin loop waiting for the MDIO operation to complete.  A quick look 
> seems to indicate the spin loop is still in this version of the driver.
> 
> Given that the NIC chip gives cheap access to the link status and a 
> couple of other interesting bits, the change to use the mii library has 
> a performance impact.

Is it possible to implement the mdio functions without a spin loop ?
Also, it might be a good idea to use the PHY driver model (a-la sungem)
rather than miilib...

Ben.



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