On Thu, Apr 05, 2018 at 06:04:12PM +0300, Nikolay Borisov wrote: > > > On 5.04.2018 16:55, David Sterba wrote: > > On Thu, Apr 05, 2018 at 10:40:15AM +0300, Nikolay Borisov wrote: > >> do_chunk_alloc implements a loop checking whether there is a pending > >> chunk allocation and if so causes the caller do loop. Generally this > >> loop is executed only once, however testing with btrfs/072 on a > >> single core vm machines uncovered an extreme case where the system > >> could loop indefinitely. This is due to a missing cond_resched when > >> loop which doesn't give a chance to the previous chunk allocator finish > >> its job. > >> > >> The fix is to simply add the missing cond_resched. > >> > >> Fixes: 6d74119f1a3e ("Btrfs: avoid taking the chunk_mutex in > >> do_chunk_alloc") > > > > Does this commit really lead to the endless loop on UP? I don't see any > > obvious connection. > > This is the commit that introduced the loop there without adding > cond_resched, hence the fixes tag.
Makes sense, thanks. -- 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