Re: [patch] zfs livelock and thread priorities

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 19 May 2009 08:31:48 -0400
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
Received on Tue May 19 2009 - 11:35:29 UTC

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