Messages in this thread | | | From | Masahiro Yamada <> | Date | Fri, 10 May 2019 15:20:27 +0900 | Subject | Re: [GIT PULL] Driver core patches for 5.2-rc1 |
| |
Hi Linus,
On Fri, May 10, 2019 at 5:50 AM Linus Torvalds <torvalds@linux-foundation.org> wrote: > > [ Ok, this may look irrelevant to people, but I actually notice this > because I do quick rebuilds *all* the time, so the 30s vs 41s > difference is actually something I reacted to and then tried to figure > out... ] > > On Tue, May 7, 2019 at 10:59 AM Greg KH <gregkh@linuxfoundation.org> wrote: > > > > Joel Fernandes (Google) (2): > > Provide in-kernel headers to make extending kernel easier > > Joel and Masahiro, > this commit does annoying things. It's a small thing, but it ends up > grating on my kernel rebuild times, so I hope somebody can take a look > at it.. > > Try building a kernel with no changes, and it shouldn't re-link. > > HOWEVER. > > If you re-make the config in between, the kernel/kheaders_data.tar.xz > is re-generated too. I think it checks timestamps despite having that > "CHK" phase that should verify just contents. > > I think the kernel/config_data.gz rules do the same thing, judging by > the output. > > I use "make allmodconfig" to re-generate the same kernel config, which > triggers this. The difference between "nothing changed" and "rerun > 'make allmodconfig' and nothing _still_ should have changed" is quite > stark:
Yeah, I have had this in my mind for a while.
If you run "make *config" and it happens to be creating the exactly the same .config, Kconfig should not overwrite it at all.
If you apply the following two, I hope you will get the behavior you like.
https://patchwork.kernel.org/patch/10938255/ https://patchwork.kernel.org/patch/10938253/
(1/2 is just a cleanup because I am touching the same hunk.)
Because I have not sent a Kconfig pull request yet in the current MW, I will consider to merge them.
Thanks.
> - nothing changed: rebuild in less than 30s > > [torvalds@i7 linux]$ time make -j32 > DESCEND objtool > CALL scripts/atomic/check-atomics.sh > CALL scripts/checksyscalls.sh > CHK include/generated/compile.h > CHK kernel/kheaders_data.tar.xz > Building modules, stage 2. > Kernel: arch/x86/boot/bzImage is ready (#9) > MODPOST 7282 modules > > real 0m29.379s > user 1m50.586s > sys 0m41.047s > > - do (the same) "make allmodconfig" in between, now rebuild time is > just over 41s: > > [torvalds@i7 linux]$ make allmodconfig > > [torvalds@i7 linux]$ time make -j32 > scripts/kconfig/conf --syncconfig Kconfig > DESCEND objtool > CALL scripts/atomic/check-atomics.sh > CALL scripts/checksyscalls.sh > CHK include/generated/compile.h > GZIP kernel/config_data.gz > CHK kernel/kheaders_data.tar.xz > CC [M] kernel/configs.o > GEN kernel/kheaders_data.tar.xz > CC [M] kernel/kheaders.o > Building modules, stage 2. > Kernel: arch/x86/boot/bzImage is ready (#9) > MODPOST 7282 modules > LD [M] kernel/configs.ko > LD [M] kernel/kheaders.ko > > real 0m41.326s > user 2m17.822s > sys 0m54.561s > > No, this isn't the end of the world, but if somebody sees a simple > solution to avoid that extra ten seconds, I'd appreciate it. > > Linus
-- Best Regards Masahiro Yamada
| |