[PATCH] nvme_fc: avoid workqueue flush stalls

James Smart james.smart at broadcom.com
Thu Oct 19 13:24:37 PDT 2017


On 9/30/2017 10:18 AM, Sagi Grimberg wrote:
>
>> 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 ?

-- james





More information about the Linux-nvme mailing list