lkml.org 
[lkml]   [2010]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectsched: question on group_capacity when SMT > 2
Date
Peter & Ingo,

At the end of update_sg_lb_stats() we have this calculation:

sgs->group_capacity =
DIV_ROUND_CLOSEST(group->cpu_power, SCHED_LOAD_SCALE);

At the sibling level when we have SMT2, cpu_power will be 1178/2
(provided we are not scaling power with freq say) and SCHED_LOAD_SCALE
will be 1024, resulting in group_capacity being 1.

If we have SMT4, cpu_power will be 1178/4, hence group_capacity will end
up as 0. Shouldn't group capacity always be >= 1? Do we need to round
this up instead or make sure group_capacity is minimum of 1? Or do we
need to change the way we calculate cpu_power in the SMT > 2 case?

A similar problem could occur in SMT2 mode if cpu_power was scaled down
to less than 1024.

(FWIW the undocumented sprinkling of DIV_ROUND_blah in kernel/sched* is
somewhat disconcerting)

Regards,
Mikey


\
 
 \ /
  Last update: 2010-03-31 04:45    [W:1.583 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site