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:
parent
bef0c6edd2
commit
2c651f101c
@ -588,8 +588,11 @@ static int queue_poll(void *opaque)
|
|||||||
{
|
{
|
||||||
struct vbdev_ocf_qcxt *qctx = opaque;
|
struct vbdev_ocf_qcxt *qctx = opaque;
|
||||||
uint32_t iono = ocf_queue_pending_io(qctx->queue);
|
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) {
|
if (iono > 0) {
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user