Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 May 2009 08:31:48 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Ben Kelly <ben@wanderview.com>
Cc:        Adam McDougall <mcdouga9@egr.msu.edu>, freebsd-current@freebsd.org, Artem Belevich <fbsdlist@src.cx>
Subject:   Re: [patch] zfs livelock and thread priorities
Message-ID:  <200905190831.48523.jhb@freebsd.org>
In-Reply-To: <A0A6EFA4-1827-4BCF-8A45-C65298EC5A55@wanderview.com>
References:  <08D7DC2A-68BE-47B6-8D5D-5DE6B48F87E5@wanderview.com> <200905181129.51526.jhb@freebsd.org> <A0A6EFA4-1827-4BCF-8A45-C65298EC5A55@wanderview.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 18 May 2009 10:16:46 pm Ben Kelly wrote:
> On May 18, 2009, at 11:29 AM, John Baldwin wrote:
> > On Saturday 16 May 2009 12:40:44 pm Ben Kelly wrote:
> >>   1) It changes the kproc(9) API by adding a kproc_create_priority()
> >> function that allows you to set the priority of the newly created
> >> thread.  I'm not sure how people feel about this.
> >
> > Actually, I almost think we should just add a priority argument to  
> > each of the
> > routines that creates a new kthread/kproc.  Perhaps allow a priority  
> > of 0 to
> > let the thread run with the default priority.  Hmm, it looks like  
> > kthreads
> > default to running with whatever thread0 runs at (PVM) which is  
> > probably not
> > really ideal.  Having an explicit priority for every kthread would  
> > probably
> > be best.  Most kthreads should probably be at PZERO by default I  
> > think.
> 
> If this approach was taken would it make sense to use a flag to  
> indicate "use the specified priority" since 0 is a valid priority value?

Well, 0 isn't truly valid (it's sort of reserved I guess), and we already use 
0 for tsleep() to mean "don't change my priority".  However, I would almost 
be inclined to just KASSERT() that the priority argument is not 0 and require 
each place that creates a kthread to explicitly set the new thread's 
priority.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905190831.48523.jhb>