Hi,
On Wed, Oct 07, 2009 at 01:45:54PM -0400, Kyle McMartin wrote:On Wed, Oct 07, 2009 at 07:34:58PM +0200, Andreas Mohr wrote:Still happening.It's being a jerk and not realizing that RESOLUTION * DECAY is a power
IOW it must be somewhere inside the DIV_ROUND_CLOSEST macro or so.
of 2, so it can just do a shift...
I don't recall if gcc 3 had these magic builtins, but if it does,
something like this might help since it's the u64 case that's
problematic.
Uh... nope:
In file included from kernel/sched.c:1818:
kernel/sched_fair.c: In function `select_task_rq_fair':
kernel/sched_fair.c:1366: implicit declaration of function `__builtin_popcountll'
kernel/sched_fair.c:1366: implicit declaration of function `__builtin_ffsll'
kernel/sched_fair.c:1366: warning: suggest parentheses around + or - inside shift
kernel/sched.c: In function `update_sg_lb_stats':
kernel/sched.c:3755: warning: suggest parentheses around + or - inside shift
kernel/sched.c: In function `find_busiest_queue':
kernel/sched.c:4050: warning: suggest parentheses around + or - inside shift
make[1]: *** [kernel/sched.o] Error 1
make: *** [kernel] Error 2
Hmpf. Rather stuck now, ain'tcha, given that gcc 3.2.3 doesn't even have those?