kern_synch.c
Matthew Dillon
dillon at apollo.backplane.com
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?
:...
:Thanks,
:-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).
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Kernel
mailing list