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