[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200502.164219.774099040080742203.davem@davemloft.net>
Date: Sat, 02 May 2020 16:42:19 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: andrew@...n.ch
Cc: netdev@...r.kernel.org, fugang.duan@....com, cphealy@...il.com
Subject: Re: [PATCH net-next v5] net: ethernet: fec: Replace interrupt
driven MDIO with polled IO
From: Andrew Lunn <andrew@...n.ch>
Date: Sat, 2 May 2020 17:25:04 +0200
> Measurements of the MDIO bus have shown that driving the MDIO bus
> using interrupts is slow. Back to back MDIO transactions take about
> 90us, with 25us spent performing the transaction, and the remainder of
> the time the bus is idle.
>
> Replacing the completion interrupt with polled IO results in back to
> back transactions of 40us. The polling loop waiting for the hardware
> to complete the transaction takes around 28us. Which suggests
> interrupt handling has an overhead of 50us, and polled IO nearly
> halves this overhead, and doubles the MDIO performance.
>
> Care has to be taken when setting the MII_SPEED register, or it can
> trigger an MII event> That then upsets the polling, due to an
> unexpected pending event.
>
> Suggested-by: Chris Heally <cphealy@...il.com>
> Signed-off-by: Andrew Lunn <andrew@...n.ch>
> Signed-off-by: David S. Miller <davem@...emloft.net>
Applied, thanks Andrew.
Powered by blists - more mailing lists