[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200419003501.GE836632@lunn.ch>
Date: Sun, 19 Apr 2020 02:35:01 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Chris Healy <cphealy@...il.com>
Cc: Andy Duan <fugang.duan@....com>,
David Miller <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>
Subject: Re: [EXT] [PATCH net-next v2 1/3] net: ethernet: fec: Replace
interrupt driven MDIO with polled IO
On Sat, Apr 18, 2020 at 03:39:17PM -0700, Chris Healy wrote:
> I did some profiling using an oscilloscope with my NXP Vybrid based
> platform to see what different "sleep_us" values resulted in for start
> of MDIO to start of MDIO transaction times. Here's what I found:
>
> 0 - ~38us to ~40us
> 1 - ~48us to ~64us
> 2 - ~48us to ~64us
> 3 - ~48us to ~64us
> 4 - ~48us to ~64us
> 4 - ~48us to ~64us
> 5 - ~48us to ~64us
> 6 - ~48us to ~64us
> 7 - ~48us to ~64us
> 8 - ~48us to ~64us
> 9 - ~56us to ~88us
> 10 - ~56us to ~112us
>
> Basically, with the "sleep_us" value set to 0, I would get the
> shortest inter transaction times with a very low variance. Once I
> went to a non-zero value, the inter transaction time went up, as well
> as the variance, which I suppose makes sense....
Thanks for these numbers. They are suggesting that udelay() is quite
expensive, and is probably taking longer than we expect. I might
instrument the function to see what is happening.
Andrew
Powered by blists - more mailing lists