Re: linux-next: much more building going on

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 8, 2022 at 3:14 PM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> On Fri, 7 Jan 2022 17:22:06 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > On Fri, 7 Jan 2022 17:13:19 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> > >
> > > Since yesterday, my builds are taking much longer and it seems just
> > > about everything is being rebuilt when there should be very little done.
> > >
> > > One example is after mergeing the clockevents tree, the diffstat looks
> > > like this:
> > >
> > > $ git diff --stat HEAD^..
> > >  .../devicetree/bindings/timer/cdns,ttc.yaml        |   3 +
> > >  .../bindings/timer/mstar,msc313e-timer.yaml        |  46 ++++
> > >  .../devicetree/bindings/timer/nxp,tpm-timer.yaml   |   6 +-
> > >  .../devicetree/bindings/timer/renesas,ostm.yaml    |  20 +-
> > >  .../bindings/timer/rockchip,rk-timer.yaml          |   1 -
> > >  MAINTAINERS                                        |   1 +
> > >  drivers/clocksource/Kconfig                        |  12 +-
> > >  drivers/clocksource/Makefile                       |   1 +
> > >  drivers/clocksource/exynos_mct.c                   |  52 +++--
> > >  drivers/clocksource/renesas-ostm.c                 |  39 +++-
> > >  drivers/clocksource/timer-imx-sysctr.c             |   6 +-
> > >  drivers/clocksource/timer-msc313e.c                | 253 +++++++++++++++++++++
> > >  drivers/clocksource/timer-pistachio.c              |   3 +-
> > >  13 files changed, 411 insertions(+), 32 deletions(-)
> > >
> > > but my powerpc and arm builds rebuilt basically everything.
> > >
> > > This happens for a lot of merges - though some do not rebuild very much
> > > at all.
> > >
> > > Any ideas about what changed yesterday?  (I directed this to the kbuild
> > > tree maintainer since the kbuild tree was updated yesterday - though
> > > that may be a coincidence).
> >
> > OK, it *may* have something to do with Kconfig file updates for example with this diffstat:
> >
> >  .../memory-controllers/synopsys,ddrc-ecc.yaml      |  1 +
> >  drivers/edac/Kconfig                               |  2 +-
> >  drivers/edac/amd64_edac.c                          | 36 ++++++++++++++-
> >  drivers/edac/amd64_edac.h                          |  8 +++-
> >  drivers/edac/edac_mc.c                             |  2 +
> >  drivers/edac/sb_edac.c                             |  2 +-
> >  drivers/edac/sifive_edac.c                         |  2 +-
> >  drivers/edac/synopsys_edac.c                       | 52 ++++++++++++++++++----
> >  drivers/ras/cec.c                                  |  2 +-
> >  include/linux/edac.h                               |  6 +++
> >  10 files changed, 98 insertions(+), 15 deletions(-)
> >
> > And only this Kconfig change:
> >
> > $ git diff HEAD^.. drivers/edac/Kconfig
> > diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
> > index 2fc4c3f91fd5..58ab63642e72 100644
> > --- a/drivers/edac/Kconfig
> > +++ b/drivers/edac/Kconfig
> > @@ -484,7 +484,7 @@ config EDAC_ARMADA_XP
> >
> >  config EDAC_SYNOPSYS
> >         tristate "Synopsys DDR Memory Controller"
> > -       depends on ARCH_ZYNQ || ARCH_ZYNQMP
> > +       depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA
> >         help
> >           Support for error detection and correction on the Synopsys DDR
> >           memory controller.
> >
> > I noticed that the following files have changed (timestamp at least) in
> > the object directory:
> >
> > -rw-r--r-- 1 sfr users    46271 Jan  7 17:09 ./include/config/auto.conf.cmd
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/DEFAULT_TCP_CONG
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/DEFAULT_INIT
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/BUILD_SALT
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/RTC_SYSTOHC_DEVICE
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/EXTRA_TARGETS
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/CC_IMPLICIT_FALLTHROUGH
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/RTC_HCTOSYS_DEVICE
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/EXTRA_FIRMWARE
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/DEFAULT_HOSTNAME
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/CC_VERSION_TEXT
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/MODPROBE_PATH
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/LOCALVERSION
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/INITRAMFS_SOURCE
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/FAT_DEFAULT_IOCHARSET
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/CMDLINE
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/NLS_DEFAULT
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/MAGIC_SYSRQ_SERIAL_SEQUENCE
> > -rw-r--r-- 1 sfr users        0 Jan  7 17:09 ./include/config/LSM
> > -rw-r--r-- 1 sfr users    54294 Jan  7 17:09 ./include/generated/autoconf.h
> > -rw-r--r-- 1 sfr users    39198 Jan  7 17:09 ./include/config/auto.conf
> >
> > then lots more is rebuilt.
>
> Bisection points to commit
>
>   33c1957574b6 ("kbuild: do not quote string values in include/config/auto.conf")
>
> from the kbuild tree and indeed if I revert commits
>
>   ec769168623b ("microblaze: use built-in function to get CPU_{MAJOR,MINOR,REV}")
>   98bb79d61f0c ("certs: move scripts/extract-cert to certs/")
>   33c1957574b6 ("kbuild: do not quote string values in include/config/auto.conf")
>
> from the merge of the kbuild tree into linux-next (up to that point),
> the problem goes away.
>
> My test case is this:
>
> $ rm -rf ../test
> $ mkdir ../test
> $ make ARCH=powerpc O=../test -s ppc64_defconfig
> $ make ARCH=powerpc O=../test -j40 -O init/main.o
> (edit drivers/edac/Kconfig as above)
> $ make ARCH=powerpc O=../test -s ppc64_defconfig
> $ make ARCH=powerpc O=../test -j40 -O init/main.o
>
> In the good case, none of the files in ../test/include/config
> representing CONFIG_ options are changed and init/main.o is not
> rebuilt.  In the bad case some of the files above (in
> ../test/include/config) are touched and init/main.o is rebuilt.
>
> Please see if you can figure out what actually is wrong with
> 33c1957574b6 or else remove those commits from the kbuild tree (or
> revert them).  This extra rebuilding is adding about 7 hours to my day
> :-(


Sorry for the annoyance.
As you noticed, this is a bug of 33c1957574b6.

I fixed it and updated linux-kbuild/for-next.

Hopefully, it should be fine for monday's linux-next.



-- 
Best Regards
Masahiro Yamada



[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux