Freescale Ethernet Driver Unlocks A Big Performance Improvement
The Freescale "FEC" Ethernet driver used by select i.MX SoCs will be seeing better performance on the next kernel release.
Queued in net-next for Linux 5.8 is a big optimization for the Freescale FEC networking driver.
Andrew Lunn reworked this Ethernet driver to replace interrupt-driven handling with polled I/O. In doing so, he's seeing dramatically better performance: "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."
Not bad for this Freescale driver that has been in the mainline kernel for already a decade.
The change is ready to go for Linux 5.8 this summer.
Queued in net-next for Linux 5.8 is a big optimization for the Freescale FEC networking driver.
Andrew Lunn reworked this Ethernet driver to replace interrupt-driven handling with polled I/O. In doing so, he's seeing dramatically better performance: "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."
Not bad for this Freescale driver that has been in the mainline kernel for already a decade.
The change is ready to go for Linux 5.8 this summer.
2 Comments