Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Sep 2010 09:50:03 GMT
From:      David Xu <davidxu@freebsd.org>
To:        freebsd-threads@FreeBSD.org
Subject:   Re: threads/141721: rtprio(1): (id|rt)prio priority resets when new thread is created
Message-ID:  <201009300950.o8U9o33F052760@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR threads/141721; it has been noted by GNATS.

From: David Xu <davidxu@freebsd.org>
To: bug-followup@freebsd.org, c.kworr@gmail.com
Cc:  
Subject: Re: threads/141721: rtprio(1): (id|rt)prio priority resets when new
 thread is created
Date: Thu, 30 Sep 2010 17:48:05 +0000

 idle priority is not supported by libthr yet, the reason I don't
 want to enable it is kernel also may have trouble to handle idle
 thread. a thread in kernel holds a non-mutex lock and is preempted,
 it is possible to be starved by other threads, such a priority
 reversal can make system work rather badly.
 
 I think the thread preemption may should work in opposite direction.
 default, it should always be disabled in kernel, only some
 code knows where it is OK to be preempted:
 
 1. interrupt thread preempt others
 2. a thread returned to userland
 3. some kernel code, it knows it is doing large computation,
     or non-sense code, it turns on preemption, when it exits
     such code, it turns off preemption.
 
 idle thread does not mean it is not execute important code,
 idle thread can execute any code in kernel, so idle does not
 mean it is insignificant, the word 'idle' is bogus, priority
 does not mean it is important or less important.
 
 



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