lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220108171424.669e37d6@canb.auug.org.au>
Date:   Sat, 8 Jan 2022 17:14:24 +1100
From:   Stephen Rothwell <sfr@...b.auug.org.au>
To:     Masahiro Yamada <masahiroy@...nel.org>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: Re: linux-next: much more building going on

Hi all,

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

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ