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

From: Sedat Dilek
Date: Sun Apr 17 2011 - 00:47:31 EST


On Sun, Apr 17, 2011 at 6:10 AM, Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote:
> 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
>

The 2nd part disappears here, when I switch from gcc-4.6 to gcc-4.5.

- Sedat -
--
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/