On 08/07/2012 07:03 AM, Mitch Harder wrote:
> On Mon, Aug 6, 2012 at 3:18 PM, Arne Jansen <sensi...@gmx.net> wrote:
>> Commit a168650c introduced a waiting mechanism to prevent busy waiting in
>> btrfs_run_delayed_refs. This can deadlock with btrfs_run_ordered_operations,
>> where a tree_mod_seq is held while waiting for the io to complete, while
>> the end_io calls btrfs_run_delayed_refs.
>> This whole mechanism is unnecessary. If not enough runnable refs are
>> available to satisfy count, just return as count is more like a guideline
>> than a strict requirement.
>> In case we have to run all refs, commit transaction makes sure that no
>> other threads are working in the transaction anymore, so we just assert
>> here that no refs are blocked.
>>
> 
> I've been testing this patch after manually merging on top of Josef's
> "Btrfs: barrier before waitqueue_active V2" patch.
> 
> With that arrangement, I've been unable to reproduce the deadlock on my 
> system.
> 
> I'll continue banging away on it tomorrow, and let you know if I
> attain a deadlock.
> 
> Also, let me know if you need me to test without including Josef's
> added barriers.

The problem at hand hadn't had anything to do with barriers, so Josef's
patch shouldn't be necessary for this particular problem. If it fixes
other ones I can't tell.

> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to