Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751425Ab1DQGqL (ORCPT ); Sun, 17 Apr 2011 02:46:11 -0400 Received: from mail-qy0-f181.google.com ([209.85.216.181]:44727 "EHLO mail-qy0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750997Ab1DQGqG (ORCPT ); Sun, 17 Apr 2011 02:46:06 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; b=ELQzptsu+g5UcgtGFoOEba06HcabK5pvOTCaHJnqw4dpIL4bRXcxApMIdgcRyUNBuZ kMGtA+lZPThDymNE/HIzg9hIao0MxMWDhCkjMNq/O5tUpracOTvI65Bk1o4qNQHU4JbU UbCkSSz9iiuKX+3Uswc9wqhrZJxjz8p+oswoc= MIME-Version: 1.0 Reply-To: sedat.dilek@gmail.com In-Reply-To: References: <20110416132546.765212221@intel.com> <20110417014430.GA9419@localhost> <20110417041003.GA17032@localhost> Date: Sun, 17 Apr 2011 08:46:04 +0200 Message-ID: Subject: Re: [PATCH 00/12] IO-less dirty throttling v7 From: Sedat Dilek To: Wu Fengguang Cc: Andrew Morton , Jan Kara , Christoph Hellwig , Trond Myklebust , Dave Chinner , "Theodore Ts'o" , Chris Mason , Peter Zijlstra , Mel Gorman , Rik van Riel , KOSAKI Motohiro , Greg Thelen , Minchan Kim , Vivek Goyal , Andrea Righi , Balbir Singh , linux-mm , "linux-fsdevel@vger.kernel.org" , LKML Content-Type: multipart/mixed; boundary=0050450161c306b5ba04a117a1ea Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8196 Lines: 214 --0050450161c306b5ba04a117a1ea Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, Apr 17, 2011 at 6:46 AM, Sedat Dilek w= rote: > On Sun, Apr 17, 2011 at 6:10 AM, Wu Fengguang wr= ote: >> On Sun, Apr 17, 2011 at 11:18:43AM +0800, Sedat Dilek wrote: >>> On Sun, Apr 17, 2011 at 3:44 AM, Wu Fengguang = 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: >>> >> ... >>> >> =C2=A0 MODPOST vmlinux.o >>> >> =C2=A0 GEN =C2=A0 =C2=A0 .version >>> >> =C2=A0 CHK =C2=A0 =C2=A0 include/generated/compile.h >>> >> =C2=A0 UPD =C2=A0 =C2=A0 include/generated/compile.h >>> >> =C2=A0 CC =C2=A0 =C2=A0 =C2=A0init/version.o >>> >> =C2=A0 LD =C2=A0 =C2=A0 =C2=A0init/built-in.o >>> >> =C2=A0 LD =C2=A0 =C2=A0 =C2=A0.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_N= aN' >>> > >>> > I cannot reproduce this error. In the git tree, calc_period_shift() i= s >>> > actually quite simple: >>> > >>> > static int calc_period_shift(void) >>> > { >>> > =C2=A0 =C2=A0 =C2=A0 =C2=A0return 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=3Dy? >>> > >>> > 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: >>> >>> =C2=A0 LD =C2=A0 =C2=A0 =C2=A0.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 >> Date: =C2=A0 Sat Apr 16 18:38:41 2011 -0600 >> >> =C2=A0 =C2=A0writeback: scale dirty proportions period with writeout ban= dwidth >> >> =C2=A0 =C2=A0CC: Peter Zijlstra >> =C2=A0 =C2=A0Signed-off-by: Wu Fengguang >> >>> 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=3Dlinux/kernel/git/wfg/writeback.git;a=3Dshortl= og;h=3Drefs/heads/dirty-throttling-v7 >> >> But they are in the dirty-throttling-v7 branch at kernel.org: >> >> commit d0e30163e390d87387ec13e3b1c2168238c26793 >> Author: Wu Fengguang >> Date: =C2=A0 Sun Apr 17 11:59:12 2011 +0800 >> >> =C2=A0 =C2=A0Revert "writeback: scale dirty proportions period with writ= eout bandwidth" >> >> =C2=A0 =C2=A0This reverts commit 84a9890ddef487d9c6d70934c0a2addc65923bc= f. >> >> =C2=A0 =C2=A0sedat.dilek@gmail.com: >> >> =C2=A0 =C2=A0 =C2=A0 =C2=A0LD =C2=A0 =C2=A0 =C2=A0.tmp_vmlinux1 >> =C2=A0 =C2=A0 =C2=A0mm/built-in.o: In function `calc_period_shift.part.1= 0': >> =C2=A0 =C2=A0 =C2=A0page-writeback.c:(.text+0x6458): undefined reference= to `____ilog2_NaN' >> =C2=A0 =C2=A0 =C2=A0make[4]: *** [.tmp_vmlinux1] Error 1 >> >> commit fc5c8b04119a5bcc46865e66eec3e6133ecb56e9 >> Author: Wu Fengguang >> Date: =C2=A0 Sun Apr 17 09:22:41 2011 -0600 >> >> =C2=A0 =C2=A0writeback: quick CONFIG_BLK_DEV_THROTTLING=3Dn compile fix >> >> =C2=A0 =C2=A0Reported-by: Sedat Dilek >> =C2=A0 =C2=A0Signed-off-by: Wu Fengguang >> >> commit c4a7e3f48dcfae71d0e3d2c55dcc381b3def1919 >> Author: Wu Fengguang >> Date: =C2=A0 Sun Apr 17 09:04:44 2011 -0600 >> >> =C2=A0 =C2=A0writeback: i386 compile fix >> >> =C2=A0 =C2=A0mm/built-in.o: In function `bdi_position_ratio': >> =C2=A0 =C2=A0page-writeback.c:(.text+0x5c83): undefined reference to `__= udivdi3' >> =C2=A0 =C2=A0mm/built-in.o: In function `calc_period_shift.part.10': >> =C2=A0 =C2=A0page-writeback.c:(.text+0x6446): undefined reference to `__= __ilog2_NaN' >> =C2=A0 =C2=A0make[4]: *** [.tmp_vmlinux1] Error >> >> =C2=A0 =C2=A0Reported-by: Sedat Dilek >> =C2=A0 =C2=A0Signed-off-by: Wu Fengguang >> >> >> Thanks, >> Fengguang >> > > The 2nd part disappears here, when I switch from gcc-4.6 to gcc-4.5. > > - Sedat - > Just FYI: Build with gcc-4.6 is OK, now. (+) OK writeback-dirty-throttling-v7-fix/writeback-i386-compile-fix.pat= ch (+) OK writeback-dirty-throttling-v7-fix/0001-Revert-writeback-scale-di= rty-proportions-period-with.patch In case of the ilog2 error I have g00gled a bit and found gcc-bug #36359 and looked also at include/linux/log2.h [2]. Not sure if this is a gcc-4.6 bug and I shall open a ticket (or a problem in your code?). I have tried the testcase from [3], it gives same output for nm. [4] I could not follow. - Sedat - [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D36359 [2] http://git.us.kernel.org/?p=3Dlinux/kernel/git/wfg/writeback.git;a=3Dbl= ob;f=3Dinclude/linux/log2.h#l18 [3] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D36359#c12 [4] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D36359#c17 --0050450161c306b5ba04a117a1ea Content-Type: application/octet-stream; name="testcase_gcc-bug-36359.tar.xz" Content-Disposition: attachment; filename="testcase_gcc-bug-36359.tar.xz" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gmlm2g720 /Td6WFoAAATm1rRGAgAhARYAAAB0L+Wj4Cf/A3JdADoZSs4f1m1AWwTuqiAiBCGe+e+3aWtINz2D e+rgXJ4Nk2S+kfj4AQ2U5FE9ODepsjtsOfKaSsiidiP17qDN49D1zrKGmJubq/zTxw+mMa9QLLFK RwtCw8QFHFc9XXd36TswiLi9Swo/0NDh3Sdl49eFxZ7SQOACktc7O2UjFNU9UTXl0OC7JEkUhu7x ypBM3QEz4VirZkvaz3o45JRJOtboGcJDPnv4Z3JpH7tUJ45ICiNm5TPGZzzIF1BwLqMjtF5kg2sj TGpYy8nP9NOusmCsxleHbCowzPNAgyFZaDY0AiNKjnB8+rZyzLfGVcu5KR0VXmzaeYtwYA2mQJUm 8aRaSPtFysevqDIzNvLp61RHxhy2LmOv+X8dAtosP9+19m6Eu4P7D3t52ass1xTH0jOqqTu4XOOg 5fvFiAcEG65XnFl/Joh5Kr5kZhe5ogLMmKsTzHw51OrDCoqviTl30Otzglp0Y1c6s1el/aqRpdzL nRb7esbxS2d8AmnMuTisrxfatbKzXuyWcdoTJs6u9TVj2jBFvPLXCmpRA6gQPnLA3rwEvXyBV22f FaUaWYZ3I4D3ieoB28AIB7/m/ZO4Thy2mVDuwqn/vIeXZnoR4IXtjGuw80HOCaL4KiYopy7YFnP3 BVSusDMxvynWgnM+FEmU1LEslO2daGrZo/uHCGYxA++i8e4GPJZop9pDv6dWrBhBOKt7pyyyybRf i6O4wae065UG4BwtrJ4mxa2gF/YzwnXKR+lAM1gng7VPBuhRatqZ74kvcshDmCHNTfvMWrNl3WaW qG2Vm2JH13vQcscMt0f22LiWUc2w2MUm/X2WTOxZcZNASJgkwlKnRL+lDt2kCcnyAdHgFWG88DFB q3dB3EHNpcYvWkjtwsleobS4iijym5/9OkvQG1HheG8IaHF+mLSboJjzrdi28E6r1R1Q4ulKKsM/ ozwX0LwqFi0NOKz5FAjfszPKKJSs8/E4HeOkH/+a+lcck274Osl4TIp90WcdmngIQ+XTz30xzr66 5Rz+EmqVIMn1W63t75TctjRUL29zDPGU0jrTFqYHiHrMuVfUg995UT4C7WEgyKYEuhGiySFUpCaX MODm/B+/sD4x+mB0RZdBKNbE5FpoXJRWzs4ytfLvZwfyRhhCyG0Nr2haMnDgQ9KojvnPaAX6Z2wl AAAAACVvYa4DlRcOAAGOB4BQAADu5SrUscRn+wIAAAAABFla --0050450161c306b5ba04a117a1ea Content-Type: application/octet-stream; name="testcase_gcc-bug-36359.tar.xz.sha256sum" Content-Disposition: attachment; filename="testcase_gcc-bug-36359.tar.xz.sha256sum" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gmlm2moz1 YzVhYjJjMjk0MjA3NzJkNDllNDk0MmVjNzI5OTlmNDJiODM5M2QxNGM3NzYyNDI3YWMzODVlZGFh ODkzNmFmMiAgdGVzdGNhc2VfZ2NjLWJ1Zy0zNjM1OS50YXIueHoK --0050450161c306b5ba04a117a1ea-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/