Re: [patch] zfs livelock and thread priorities

From: Ben Kelly <ben_at_wanderview.com>
Date: Tue, 14 Apr 2009 11:50:18 -0400
On Apr 13, 2009, at 7:36 PM, Artem Belevich wrote:

> Tried your patch that used PRIBIO+{1,2} for priorities with -current
> r191008 and the kernel died with "spinlock held too long" panic.
> Actually, there apparently were two instances of panic on different
> cores..
>
> Here's output of "alltrace" and "ps" after the crash:
> http://pastebin.com/f140f4596
>
> I've reverted the change and kernel booted just fine.
>
> The box is quad-core with two ZFS pools -- one single-disk and another
> one is a two-disk mirror. Freebsd is installed on UFS partitions, ZFS
> is used for user stuff only.

Thanks for the report!

I don't have a lot of time to look at this today, but it appears that  
there is a race condition on SMP machines when setting the priority  
immediately after the kproc is spawned.  As a quick hack I tried  
adding a pause between the kproc_create() and the sched_prio().  Can  
you try this patch?

   http://www.wanderview.com/svn/public/misc/zfs_livelock/zfs_thread_priority.diff

I'll try to take a closer look at this later in the week.

Thanks!

- Ben
Received on Tue Apr 14 2009 - 13:50:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:46 UTC