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>
