forked from luck/tmp_suning_uos_patched
nvme-tcp: fix wrong stop condition in io_work
Allow the do/while statement to continue if current time is not after the proposed time 'deadline'. Intent is to allow loop to proceed for a specific time period. Currently the loop, as coded, will exit after first pass. Signed-off-by: Mark Wunderlich <mark.wunderlich@intel.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
This commit is contained in:
parent
b224726de5
commit
ddef29578a
|
@ -1042,7 +1042,7 @@ static void nvme_tcp_io_work(struct work_struct *w)
|
|||
{
|
||||
struct nvme_tcp_queue *queue =
|
||||
container_of(w, struct nvme_tcp_queue, io_work);
|
||||
unsigned long start = jiffies + msecs_to_jiffies(1);
|
||||
unsigned long deadline = jiffies + msecs_to_jiffies(1);
|
||||
|
||||
do {
|
||||
bool pending = false;
|
||||
|
@ -1067,7 +1067,7 @@ static void nvme_tcp_io_work(struct work_struct *w)
|
|||
if (!pending)
|
||||
return;
|
||||
|
||||
} while (time_after(jiffies, start)); /* quota is exhausted */
|
||||
} while (!time_after(jiffies, deadline)); /* quota is exhausted */
|
||||
|
||||
queue_work_on(queue->io_cpu, nvme_tcp_wq, &queue->io_work);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user