ocf: batched request processing in queue poller

Process 32 OCF requests during poller invocation.
This will result in more flat events distribution.

This patch uses new API function: ocf_queue_run_single().

Change-Id: I0bc2ef783018fdbcf6f6e938fd7ca136ade61599
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/446635
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
Vitaliy Mysak 2019-03-02 00:31:18 +00:00 committed by Jim Harris
parent bef0c6edd2
commit 2c651f101c

View File

@ -588,8 +588,11 @@ static int queue_poll(void *opaque)
{
struct vbdev_ocf_qcxt *qctx = opaque;
uint32_t iono = ocf_queue_pending_io(qctx->queue);
int i, max = spdk_min(32, iono);
ocf_queue_run(qctx->queue);
for (i = 0; i < max; i++) {
ocf_queue_run_single(qctx->queue);
}
if (iono > 0) {
return 1;