diff --git a/lib/idxd/idxd.c b/lib/idxd/idxd.c index d94bd39f1..9db2d9723 100644 --- a/lib/idxd/idxd.c +++ b/lib/idxd/idxd.c @@ -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 */