threads/141721: rtprio(1): (id|rt)prio priority resets when new
thread is created
David Xu
davidxu at freebsd.org
Thu Sep 30 09:50:04 UTC 2010
The following reply was made to PR threads/141721; it has been noted by GNATS.
From: David Xu <davidxu at freebsd.org>
To: bug-followup at freebsd.org, c.kworr at 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.
More information about the freebsd-threads
mailing list