On Mon, Aug 26, 2013 at 12:36 PM, Paul Turner <[email protected]> wrote: > On Sun, Aug 25, 2013 at 7:56 PM, Lei Wen <[email protected]> wrote: >> On Tue, Aug 20, 2013 at 12:01 AM, Peter Zijlstra <[email protected]> >> wrote: >>> From: Joonsoo Kim <[email protected]> >>> >>> There is no reason to maintain separate variables for this_group >>> and busiest_group in sd_lb_stat, except saving some space. >>> But this structure is always allocated in stack, so this saving >>> isn't really benificial [peterz: reducing stack space is good; in this >>> case readability increases enough that I think its still beneficial] >>> >>> This patch unify these variables, so IMO, readability may be improved. >>> >>> Signed-off-by: Joonsoo Kim <[email protected]> >>> [peterz: lots of style edits, a few fixes and a rename] >>> Signed-off-by: Peter Zijlstra <[email protected]> >>> Link: >>> http://lkml.kernel.org/r/[email protected] >>> --- >>> kernel/sched/fair.c | 225 >>> +++++++++++++++++++++++++--------------------------- >>> 1 file changed, 112 insertions(+), 113 deletions(-) >>> >>> --- a/kernel/sched/fair.c >>> +++ b/kernel/sched/fair.c >>> @@ -4277,36 +4277,6 @@ static unsigned long task_h_load(struct >>> >> [snip]... >>> - env->imbalance = DIV_ROUND_CLOSEST( >>> - sds->max_load * sds->busiest->sgp->power, >>> SCHED_POWER_SCALE); >>> + env->imbalance = DIV_ROUND_CLOSEST(sds->busiest_stat.avg_load * >>> + sds->busiest->sgp->power, >>> SCHED_POWER_SCALE); >>> >> >> I am wondering whether we could change this line as below is more >> appropriate, >> since it would avoid the division here: >> env->imbalance = (sds->busiest_stat.avg_load * >> sds->busiest->sgp->power) >> >> SCHED_POWER_SHIFT; >> >> I am not sure whether compiler would be smarter enough to covert into >>>> operation, >> if it see SCHED_POWER_SCALE is 1024 here. > > This would change the rounding. Fortunately, gcc is smart enough to > handle this.
Indeed, I check the assembly code, and it is really smart to do the changes. Thanks, Lei -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

