On Wed, Mar 30, 2016 at 7:25 PM, Liu Bo <bo.li.liu@xxxxxxxxxx> wrote:
> On Wed, Mar 30, 2016 at 05:24:04PM +0200, Ilya Dryomov wrote:
>> Hi,
>>
>> We are hitting the attached lockup on a somewhat regular basis during
>> nightly tests. Looks like a bunch of CPUs spin in find_free_extent()
>> on btrfs_free_cluster::lock, which is held by writer, who seems to be
>> stuck in an endless loop in btrfs_find_space_cluster(), trying to
>> cleanup bitmaps list. Smells like a list corruption to me?
>
> My objdump shows that find_free_extent() may wait on down_read(&space_info->groups_sem);
It's spinning on a spinlock:
6228 if (last_ptr) {
6229 spin_lock(&last_ptr->lock);
6230 if (last_ptr->block_group)
>
> One possible thing is that there're too many entries in bitmap, and
> list_for_each_entry just is just stuck there.
I don't think so - look at the two journal_write splats.
>
> Are these stacks from "Blocked more than 120s"?
No, these are all soft lockups. Sorry, I had to edit it to make it
readable and concentrated on stack traces. I guess "BUG: soft lockup"
were mixed up with modules and object code all over the place.
Thanks,
Ilya
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html