diff options
author | Kashyap Desai <kashyap.desai@broadcom.com> | 2023-06-09 04:01:49 -0700 |
---|---|---|
committer | Leon Romanovsky <leon@kernel.org> | 2023-06-12 10:10:17 +0300 |
commit | 84911cf3b2aa8d0a1e563d346c852131582cb871 (patch) | |
tree | 355339ecdd38d9f67846d08b11ae0e642101e7dd /tools/perf/scripts/python/check-perf-trace.py | |
parent | b6c7256688264f5096a2cfaaaa56d01ea686b367 (diff) |
RDMA/bnxt_re: post destroy_ah for delayed completion of AH creation
AH create may be called from interrpt context and driver has a special
timeout (8 sec) for this command. This is to avoid soft lockups when
the FW command takes more time. Driver returns -ETIMEOUT and fail
create AH, without waiting for actual completion from firmware.
When FW completion is received, use is_waiter_alive flag to avoid
a regular completion path.
If create_ah opcode is detected in completion path which does not have
waiter alive, driver will fetch ah_id from successful firmware
completion in the interrupt context and sends destroy_ah command
for same ah_id. This special post is done in quick manner using helper
function __send_message_no_waiter.
timeout_send is only used for debugging purposes.
If timeout_send value keeps incrementing, it indicates out of sync
active ah counter between driver and firmware. This is a limitation
but graceful handling is possible in future.
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Link: https://lore.kernel.org/r/1686308514-11996-13-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/check-perf-trace.py')
0 files changed, 0 insertions, 0 deletions