diff options
author | 2025-02-20 19:55:27 +0530 | |
---|---|---|
committer | 2025-02-24 19:57:44 -0500 | |
commit | ca41929b2ed5eaa459a90bbf3be59cada2da3777 (patch) | |
tree | 790dfc3c250d4cedde6aa4b8e7f9fb3303ad213b /tools/perf/scripts/python/export-to-postgresql.py | |
parent | scsi: mpi3mr: Update timestamp only for supervisor IOCs (diff) | |
download | wireguard-linux-ca41929b2ed5eaa459a90bbf3be59cada2da3777.tar.xz wireguard-linux-ca41929b2ed5eaa459a90bbf3be59cada2da3777.zip |
scsi: mpi3mr: Check admin reply queue from Watchdog
Admin reply processing can be called from multiple contexts. The driver
uses an atomic flag for synchronization among multiple threads/context for
draining the admin replies.
Upon entering the admin processing routine, the driver will set the atomic
flag and start reply processing. When exiting the routine, the driver
resets the flag. However, there is a race condition when one thread (Thread
1) has processed replies and is about to reset the flag but in the meantime
few more replies are posted and another thread (Thread 2) is called to
process replies. Since the synchronization flag is still set, Thread 2 will
return without processing replies and those new replies will not be
flushed.
Make the watchdog thread monitor cases where admin ISR/poll call returns
due to another thread processing admin replies. If such an instance is
found, make driver call admin ISR to drain replies (if any).
Co-developed-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
Link: https://lore.kernel.org/r/20250220142528.20837-4-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions