[PATCH] nvme_fc: avoid workqueue flush stalls
Sagi Grimberg
sagi at grimberg.me
Sun Oct 22 03:05:19 PDT 2017
>>> There's no need to wait for the full nvme_wq, which is now shared,
>>> to flush. flush only the delete_work item.
>>
>> The patch looks correct, but can you explain what stalled that this
>> patch fixes?
>
> I don't have an explicit failure case. While reviewing the code for the
> other stall issue with fatal_err_work, I realized that this flush is now
> waiting on a work queue shared by everything nvmf. It used to be solely
> a nvme-fc transport workqueue. There's no need for waiting on anything
> more than the delete work item. And having it raise in scope of the nvmf
> thread perhaps makes it wait for a lot of other unnecessary things -
> slowing it down.
>
> If you're ok with it - can you Ack/Review it ?
Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
More information about the Linux-nvme
mailing list