Queue flush portion requests to the back of IO queue

In current implementation in case of fast media flushning
container may starve all concurrent containers flushing
due to continous rescheduling of offender requests to the
front of I/O queue. Pushing request to the back of IO
queue ensures FIFO handling and removes possibility of
starvation.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
This commit is contained in:
Adam Rutkowski 2020-03-23 15:31:40 -04:00
parent 22bdb8b004
commit 3b3a49e8ea

View File

@ -376,7 +376,7 @@ static void _ocf_mngt_flush_portion_end(void *private_data, int error)
return;
}
ocf_engine_push_req_front(fc->req, false);
ocf_engine_push_req_back(fc->req, false);
}
@ -431,7 +431,7 @@ static void _ocf_mngt_flush_container(
fc->ticks1 = 0;
fc->ticks2 = UINT_MAX;
ocf_engine_push_req_front(fc->req, true);
ocf_engine_push_req_back(fc->req, true);
return;
finish: