From 3b3a49e8ea1fb3351b3022101d99302babe4f05f Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Mon, 23 Mar 2020 15:31:40 -0400 Subject: [PATCH] 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 --- src/mngt/ocf_mngt_flush.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mngt/ocf_mngt_flush.c b/src/mngt/ocf_mngt_flush.c index 3bfdee4..d101ce7 100644 --- a/src/mngt/ocf_mngt_flush.c +++ b/src/mngt/ocf_mngt_flush.c @@ -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: