]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[hermon] Limit link poll frequency in DOWN state 242/head
authorMichael Brown <mcb30@ipxe.org>
Sun, 31 Jan 2021 23:29:45 +0000 (23:29 +0000)
committerMichael Brown <mcb30@ipxe.org>
Sun, 31 Jan 2021 23:29:45 +0000 (23:29 +0000)
commitdef46cf344dc9981a0901a1293d4513efafe14d2
tree4957930e4abe8c053559ce3d2955b607d862dd3f
parentba20ba42731b8b03a5db2f81f876fccd56257b0f
[hermon] Limit link poll frequency in DOWN state

Some older versions of the hardware (and/or firmware) do not report an
event when an Infiniband link reaches the INIT state.  The driver
works around this missing event by calling ib_smc_update() on each
event queue poll while the link is in the DOWN state.

Commit 6cb12ee ("[hermon] Increase polling rate for command
completions") addressed this by speeding up the time taken to issue
each command invoked by ib_smc_update().  Experimentation shows that
the impact is still significant: for example, in a situation where an
unplugged port is opened, the throughput on the other port can be
reduced by over 99%.

Fix by throttling the rate at which link polling is attempted.

Debugged-by: Christian Iversen <ci@iversenit.dk>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/infiniband/hermon.c
src/drivers/infiniband/hermon.h