kern/129164: Wrong priority value for normal processes

Unga unga888 at yahoo.com
Tue Nov 25 03:10:09 PST 2008


The following reply was made to PR kern/129164; it has been noted by GNATS.

From: Unga <unga888 at yahoo.com>
To: Garrett Cooper <yanefbsd at gmail.com>
Cc: freebsd-gnats-submit at FreeBSD.org
Subject: Re: kern/129164: Wrong priority value for normal processes
Date: Tue, 25 Nov 2008 02:41:26 -0800 (PST)

 --- On Tue, 11/25/08, Garrett Cooper <yanefbsd at gmail.com> wrote:
 
 > 	rtp.prio is an unsigned short, and there is some rollover
 > because the number set for the priority is then subtracted
 > by 128 (see the following grepped snippets). This appears to
 > be a cosmetic issue which should be fixed by shifting the
 > starting offset for the priorities. Unless it's really a
 > dealbreaker (because it shouldn't be considering that
 > all processes are in fact fudged by this value range, but it
 > does touch the ULE / scheduler code a bit from the looks of
 > it), I would mark this bug Sev 2, Priority High.
 > 
 > [gcooper at optimus ~]$ grep -rn PRI_MIN_REALTIME
 > /usr/src/sys/
 > /usr/src/sys/kern/kern_resource.c:479:		newpri =
 > PRI_MIN_REALTIME + rtp->prio;
 > /usr/src/sys/kern/kern_resource.c:511:		rtp->prio =
 > td->td_base_user_pri - PRI_MIN_REALTIME;
 > /usr/src/sys/kern/kern_umtx.c:1934:		if (UPRI(td) <
 > PRI_MIN_REALTIME + ceiling) {
 > /usr/src/sys/kern/kern_umtx.c:1939:		if (su &&
 > PRI_MIN_REALTIME + ceiling < uq->uq_inherited_pri) {
 > /usr/src/sys/kern/kern_umtx.c:1940:			uq->uq_inherited_pri
 > = PRI_MIN_REALTIME + ceiling;
 > /usr/src/sys/kern/kern_umtx.c:2069:		new_inherited_pri =
 > PRI_MIN_REALTIME + rceiling;
 > /usr/src/sys/kern/sched_ule.c:1406:		pri =
 > PRI_MIN_REALTIME;
 > /usr/src/sys/kern/sched_ule.c:1407:		pri +=
 > ((PRI_MAX_REALTIME - PRI_MIN_REALTIME) / sched_interact)
 > /usr/src/sys/kern/sched_ule.c:1409:		KASSERT(pri >=
 > PRI_MIN_REALTIME && pri <= PRI_MAX_REALTIME,
 > /usr/src/sys/sys/priority.h:98:#define	PRI_MAX_KERN		(PRI_MIN_REALTIME
 > - 1)
 > /usr/src/sys/sys/priority.h:112:#define	PRI_MIN_REALTIME	(128)
 > 
 
 Thanks for the reply.
 
 I'll look more details into your above grep results.
 
 I forgot to mention, this issue does not effect both realtime and idletime. It only effect normal priority class. That is, the priority set for the normal processes does not retain.
 
 Best regards
 Unga
 
 
 
 
       


More information about the freebsd-bugs mailing list