lib/idxd: break spdk_idxd_process_events loop after processing DESC_PER_BATCH ops

To prevent the processing of outstanding commands from starving the rest of the system

Fixes: #2586

Signed-off-by: Chen, You <you.chen@intel.com>
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Change-Id: I392db2359408cdef32cc1f46b76ecd94f0c3332c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13685
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Chen, You 2022-07-15 23:56:57 +08:00 committed by Tomasz Zawadzki
parent 2508d170c8
commit 43ebecdf60

View File

@ -1397,6 +1397,10 @@ spdk_idxd_process_events(struct spdk_idxd_io_channel *chan)
/* reset the status */
status = 0;
/* break the processing loop to prevent from starving the rest of the system */
if (rc > DESC_PER_BATCH) {
break;
}
}
/* Submit any built-up batch */