public inbox for linux-next@vger.kernel.org 
 help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb•auug.org.au>
To: Masahiro Yamada <masahiroy@kernel•org>
Cc: Linux Kernel Mailing List <linux-kernel@vger•kernel.org>,
	Linux Next Mailing List <linux-next@vger•kernel.org>
Subject: Re: linux-next: much more building going on
Date: Sat, 8 Jan 2022 17:14:24 +1100	[thread overview]
Message-ID: <20220108171424.669e37d6@canb.auug.org.au> (raw)
In-Reply-To: <20220107172206.3fbdd09f@canb.auug.org.au>

[-- Attachment #1: Type: text/plain, Size: 6328 bytes --]

Hi all,

On Fri, 7 Jan 2022 17:22:06 +1100 Stephen Rothwell <sfr@canb•auug.org.au> wrote:
>
> On Fri, 7 Jan 2022 17:13:19 +1100 Stephen Rothwell <sfr@canb•auug.org.au> 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
:-(

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2022-01-08  6:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-07  6:13 linux-next: much more building going on Stephen Rothwell
2022-01-07  6:22 ` Stephen Rothwell
2022-01-08  6:14   ` Stephen Rothwell [this message]
2022-01-08 10:46     ` Masahiro Yamada
2022-01-08 11:22       ` Stephen Rothwell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220108171424.669e37d6@canb.auug.org.au \
    --to=sfr@canb$(echo .)auug.org.au \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-next@vger$(echo .)kernel.org \
    --cc=masahiroy@kernel$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox