Matthew Dillon dillon at
Sat Jan 29 11:53:19 PST 2005

:Hi, I just started poking around the kernel code, so I don't know if my
:question is even relevant.  In /usr/src/kern/kern_synch.c on line 736
:there is a function called resetpriority().  On line 739 of the same file
:in the same function there is an variable called interactive, which is an
:int.  On line 773, interactive is used in the following way:
:        interactive = p->p_interactive / 10;
:        newpriority += interactive;
:Since interactive is only used on lines 773 and 774 in resetpriority() and
:since it is local to the function, why not replace these two lines with:
:	newpriority += (p->p_interactive / 10);
:and do away with the variable interactive entirely?
:-Zera Holladay

    This is a case where the code was written to be more readable and
    explicit.  You don't really have to compact it all into a single
    line, the C compiler will probably generate the same code either
    way and optimize out the intermediate variable (not that we really
    care from a performance standpoint in this particular piece of 
    code since just doing the divide is ten times as expensive as 
    anything else).

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Kernel mailing list