Subject: writeback: i386 compile fix Date: Sun Apr 17 09:04:44 CST 2011 mm/built-in.o: In function `bdi_position_ratio': page-writeback.c:(.text+0x5c83): undefined reference to `__udivdi3' mm/built-in.o: In function `calc_period_shift.part.10': page-writeback.c:(.text+0x6446): undefined reference to `____ilog2_NaN' make[4]: *** [.tmp_vmlinux1] Error Reported-by: Sedat Dilek Signed-off-by: Wu Fengguang --- mm/page-writeback.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- linux-next.orig/mm/page-writeback.c 2011-04-17 09:02:32.000000000 +0800 +++ linux-next/mm/page-writeback.c 2011-04-17 09:03:58.000000000 +0800 @@ -634,9 +634,10 @@ static unsigned long bdi_position_ratio( origin = bdi->avg_write_bandwidth + 2 * MIN_WRITEBACK_PAGES; origin = min(origin, thresh - thresh / DIRTY_FULL_SCOPE); if (bdi_dirty < origin) { - if (bdi_dirty > origin / 4) - bw = bw * origin / bdi_dirty; - else + if (bdi_dirty > origin / 4) { + bw *= origin; + do_div(bw, bdi_dirty); + } else bw = bw * 4; }