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>