[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