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

From: Benjamin Herrenschmidt <[email-masked]>
Date: Wed, 24 Aug 2005 10:33:26 +1000

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.