On Thu, Apr 22, 2021 at 5:33 AM Felix Fietkau [off-list ref] wrote:
On 2021-04-22 06:09, Ilya Lipnitskiy wrote:
quoted
From: Felix Fietkau <nbd@nbd.name>
usleep_range often ends up sleeping much longer than the 10-20us provided
as a range here. This causes significant latency in mdio bus acceses,
which easily adds multiple seconds to the boot time on MT7621 when polling
DSA slave ports.
Use udelay via readx_poll_timeout_atomic, since the MDIO access does not
take much time
Signed-off-by: Felix Fietkau <nbd@nbd.name>
[Ilya: use readx_poll_timeout_atomic instead of cond_resched]
I still prefer the cond_resched() variant.
No problem, I will respin with your original change. Looks like we
can't take advantage of iopoll.h routine in this case, but that's not
the end of the world!
On a fully loaded system, I'd
prefer to let the MDIO access take longer instead of wasting cycles on
udelay.
- Felix
Ilya
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel