From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?J=F6rg?= Krause Date: Thu, 03 Nov 2016 08:23:34 +0100 Subject: [Buildroot] [PATCH] ubifs: Fix regression in ubifs_readdir() In-Reply-To: <87f68565-765b-4e9b-a3f0-34dae0b45e93@mind.be> References: <1477648432-9543-1-git-send-email-richard@nod.at> <1477671544.8927.1.camel@embedded.rocks> <1477693395.31471.1.camel@embedded.rocks> <20161101232215.5bf7cabd@free-electrons.com> <1478116619.8549.1.camel@embedded.rocks> <20161102214927.30b0d74f@free-electrons.com> <1478126967.8549.4.camel@embedded.rocks> <87f68565-765b-4e9b-a3f0-34dae0b45e93@mind.be> Message-ID: <1478157814.9853.1.camel@embedded.rocks> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net On Thu, 2016-11-03 at 03:46 +0100, Arnout Vandecappelle wrote: > > On 02-11-16 23:49, J?rg Krause wrote: > > On Wed, 2016-11-02 at 21:49 +0100, Thomas Petazzoni wrote: > > > Hello, > > > > > > On Wed, 02 Nov 2016 20:56:59 +0100, J?rg Krause wrote: > > > > > > > > This is *really* bad. Which Buildroot version are you > > > > > using??? > > > > > > > > 2016.11 # > > > > > > > > Note that I am using Buildroot as a submodule [1] and I needed > > > > to > > > > port > > > > the br2-external tree. Maybe I messed something up? > > > > > > > > > Are you able to reproduce the bad ccache behavior here??? > > > > > > > > Yes, I am. Linux kernel source directory is located locally and > > > > the > > > > path is set using LINUX_OVERRIDE_SRCDIR in local.mk. > > > > > > > > 1/ Checkout Linux kernel version 4.7.10 > > > > 2/ make linux-dirclean all > > > > 3/ Booted Linux version is 4.7.10 > > > > > > > > 4/ Checkout Linux kernel version 4.8.5 > > > > 5/ make linux-dirclean all > > > > 6/ Booted Linux version is still 4.7.10 > > > > > > And this scenario works fine with ccache *disabled*, but breaks > > > when > > > you enable ccache support in Buildroot? > > > > Yes. > > ?I can't reproduce this. I've got a nice mix of cache misses and > cache hits when > building a different version, and version.o is definitely a cache > miss. > > ?Can you double-check the version in output/build/linux- > custom/init/version.o? I checked the version string in version.o with hexdump -C and they differ. > And the one in output/build/linux- > custom/include/generated/utsrelease.h? This as well. > ?Hm, hang on, is there maybe a utsrelease.h that ends up in your > staging dir and that is used by ccache? No, there is only the linux generated file. --- I am not experienced with ccache, but I got some statistics: I cleared the cache by removing ~/.buildroot-ccache, than run `make linux-dirclean linux`: cache hit (direct)?????????????????????0 cache hit (preprocessed)???????????????0 cache miss??????????????????????????1088 cache hit rate??????????????????????0.00 % called for link???????????????????????10 called for preprocessing???????????????5 no input file????????????????????????394 cleanups performed?????????????????????0 files in cache??????????????????????3250 Then I re-run `make linux-dirclean linux` (without altering the linux sources): cache hit (direct)??????????????????1076 cache hit (preprocessed)??????????????10 cache miss??????????????????????????1090 cache hit rate?????????????????????49.91 % called for link???????????????????????20 called for preprocessing??????????????10 no input file????????????????????????788 cleanups performed?????????????????????0 files in cache??????????????????????3264 Again, clear the cache and run `make linux-dirclean linux`, but alter the linux sources by checking out a different branch: cache hit (direct)????????????????????10 cache hit (preprocessed)??????????????62 cache miss??????????????????????????2102 cache hit rate??????????????????????3.31 % called for link???????????????????????20 called for preprocessing??????????????10 no input file????????????????????????773 cleanups performed?????????????????????0 files in cache??????????????????????6386 --- Furthermore, I did the following for the different linux builds: After building branch-4.7.y: # cp output/build/linux-custom/arch/arm/boot/zImage zImage-4.7.10 After building branch-4.8.y: # cp output/build/linux-custom/arch/arm/boot/zImage zImage-4.8.5 Afterwards, diff shows no differences: # diff zImage-4.7.10 zImage-4.8.5 Best regards, J?rg Krause