Re: [PATCH 00/12] IO-less dirty throttling v7

From: Wu Fengguang
Date: Sun Apr 17 2011 - 00:10:30 EST


On Sun, Apr 17, 2011 at 11:18:43AM +0800, Sedat Dilek wrote:
> On Sun, Apr 17, 2011 at 3:44 AM, Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote:
> > Hi Sedat,
> >
> > On Sun, Apr 17, 2011 at 12:27:58AM +0800, Sedat Dilek wrote:
> >
> >> I pulled your tree into linux-next (next-20110415) on an i386 Debian host.
> >>
> >> My build breaks here:
> >> ...
> >> Â MODPOST vmlinux.o
> >> Â GEN Â Â .version
> >> Â CHK Â Â include/generated/compile.h
> >> Â UPD Â Â include/generated/compile.h
> >> Â CC Â Â Âinit/version.o
> >> Â LD Â Â Âinit/built-in.o
> >> Â LD Â Â Â.tmp_vmlinux1
> >> mm/built-in.o: In function `bdi_position_ratio':
> >> page-writeback.c:(.text+0x5c83): undefined reference to `__udivdi3'
> >
> > Yes it can be fixed by the attached patch.
> >
> >> mm/built-in.o: In function `calc_period_shift.part.10':
> >> page-writeback.c:(.text+0x6446): undefined reference to `____ilog2_NaN'
> >
> > I cannot reproduce this error. In the git tree, calc_period_shift() is
> > actually quite simple:
> >
> > static int calc_period_shift(void)
> > {
> > Â Â Â Âreturn 2 + ilog2(default_backing_dev_info.avg_write_bandwidth);
> > }
> >
> > where avg_write_bandwidth is of type "unsigned long".
> >
> >> make[4]: *** [.tmp_vmlinux1] Error
> >>
> >> BTW, which kernel-config options have to be set besides
> >> CONFIG_BLK_DEV_THROTTLING=y?
> >
> > No. I used your kconfig on 2.6.39-rc3 and it compiles OK for i386.
> >
> > I've pushed two patches into the git tree fixing the compile errors.
> > Thank you for trying it out and report!
> >
> > Thanks,
> > Fengguang
> >
>
> Thanks for your patch.
>
> The 1st part of the build-error is gone, but 2nd part still remains:
>
> LD .tmp_vmlinux1
> mm/built-in.o: In function `calc_period_shift.part.10':
> page-writeback.c:(.text+0x6458): undefined reference to `____ilog2_NaN'
> make[4]: *** [.tmp_vmlinux1] Error 1
>
> I have attached some disasm-ed files.

OK. I tried next-20110415 and your kconfig and still got no error.

Please revert the last commit. It's not necessary anyway.

commit 84a9890ddef487d9c6d70934c0a2addc65923bcf
Author: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Date: Sat Apr 16 18:38:41 2011 -0600

writeback: scale dirty proportions period with writeout bandwidth

CC: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>

> Unfortunately, I don't see any new commits in your GIT tree.

Yeah I cannot see it in the web interface, too:

http://git.kernel.org/?p=linux/kernel/git/wfg/writeback.git;a=shortlog;h=refs/heads/dirty-throttling-v7

But they are in the dirty-throttling-v7 branch at kernel.org:

commit d0e30163e390d87387ec13e3b1c2168238c26793
Author: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Date: Sun Apr 17 11:59:12 2011 +0800

Revert "writeback: scale dirty proportions period with writeout bandwidth"

This reverts commit 84a9890ddef487d9c6d70934c0a2addc65923bcf.

sedat.dilek@xxxxxxxxx:

LD .tmp_vmlinux1
mm/built-in.o: In function `calc_period_shift.part.10':
page-writeback.c:(.text+0x6458): undefined reference to `____ilog2_NaN'
make[4]: *** [.tmp_vmlinux1] Error 1

commit fc5c8b04119a5bcc46865e66eec3e6133ecb56e9
Author: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Date: Sun Apr 17 09:22:41 2011 -0600

writeback: quick CONFIG_BLK_DEV_THROTTLING=n compile fix

Reported-by: Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx>
Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>

commit c4a7e3f48dcfae71d0e3d2c55dcc381b3def1919
Author: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Date: Sun Apr 17 09:04:44 2011 -0600

writeback: i386 compile fix

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 <sedat.dilek@xxxxxxxxxxxxxx>
Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>


Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/