llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [TCWG CI] Regression caused by linux: parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled
@ 2021-09-21 14:34 ci_notify
  2021-09-21 15:45 ` Nathan Chancellor
  0 siblings, 1 reply; 2+ messages in thread
From: ci_notify @ 2021-09-21 14:34 UTC (permalink / raw)
  To: Helge Deller, arnd; +Cc: linaro-toolchain, llvm

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

[TCWG CI] Regression caused by linux: parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled:
commit 9caea0007601d3bc6debec04f8b4cd6f4c2394be
Author: Helge Deller <deller@gmx.de>

    parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled

Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_llvm:
-5
# build_abe qemu:
-2
# linux_n_obj:
37
# First few build errors in logs:

from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_llvm:
-5
# build_abe qemu:
-2
# linux_n_obj:
20151

THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.

This commit has regressed these CI configurations:
 - tcwg_kernel/llvm-master-aarch64-mainline-allyesconfig

First_bad build: https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/build-9caea0007601d3bc6debec04f8b4cd6f4c2394be/
Last_good build: https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/build-31ad37bd6faf871c070650f72ac9488ceeeceeb0/
Baseline build: https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/build-baseline/
Even more details: https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/

Reproduce builds:
<cut>
mkdir investigate-linux-9caea0007601d3bc6debec04f8b4cd6f4c2394be
cd investigate-linux-9caea0007601d3bc6debec04f8b4cd6f4c2394be

# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts

# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/manifests/build-baseline.sh --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/manifests/build-parameters.sh --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/test.sh --fail
chmod +x artifacts/test.sh

# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh

# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/

cd linux

# Reproduce first_bad build
git checkout --detach 9caea0007601d3bc6debec04f8b4cd6f4c2394be
../artifacts/test.sh

# Reproduce last_good build
git checkout --detach 31ad37bd6faf871c070650f72ac9488ceeeceeb0
../artifacts/test.sh

cd ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit 9caea0007601d3bc6debec04f8b4cd6f4c2394be
Author: Helge Deller <deller@gmx.de>
Date:   Sun Sep 19 10:36:09 2021 -0700

    parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled
    
    Linus noticed odd declaration rules for pci_iounmap() in iomap.h and
    pci_iomap.h, where it dependend on either NO_GENERIC_PCI_IOPORT_MAP or
    GENERIC_IOMAP when CONFIG_PCI was disabled.
    
    Testing on parisc seems to indicate that we need pci_iounmap() only when
    CONFIG_PCI is enabled, so the declaration of pci_iounmap() can be moved
    cleanly into pci_iomap.h in sync with the declarations of pci_iomap().
    
    Link: https://lore.kernel.org/all/CAHk-=wjRrh98pZoQ+AzfWmsTZacWxTJKXZ9eKU2X_0+jM=O8nw@mail.gmail.com/
    Signed-off-by: Helge Deller <deller@gmx.de>
    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Fixes: 97a29d59fc22 ("[PARISC] fix compile break caused by iomap: make IOPORT/PCI mapping functions conditional")
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Ulrich Teichert <krypton@ulrich-teichert.org>
    Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
 arch/parisc/lib/iomap.c         |  4 +++-
 include/asm-generic/iomap.h     | 10 ----------
 include/asm-generic/pci_iomap.h |  3 +++
 3 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/arch/parisc/lib/iomap.c b/arch/parisc/lib/iomap.c
index f03adb1999e7..367f6397bda7 100644
--- a/arch/parisc/lib/iomap.c
+++ b/arch/parisc/lib/iomap.c
@@ -513,12 +513,15 @@ void ioport_unmap(void __iomem *addr)
 	}
 }
 
+#ifdef CONFIG_PCI
 void pci_iounmap(struct pci_dev *dev, void __iomem * addr)
 {
 	if (!INDIRECT_ADDR(addr)) {
 		iounmap(addr);
 	}
 }
+EXPORT_SYMBOL(pci_iounmap);
+#endif
 
 EXPORT_SYMBOL(ioread8);
 EXPORT_SYMBOL(ioread16);
@@ -544,4 +547,3 @@ EXPORT_SYMBOL(iowrite16_rep);
 EXPORT_SYMBOL(iowrite32_rep);
 EXPORT_SYMBOL(ioport_map);
 EXPORT_SYMBOL(ioport_unmap);
-EXPORT_SYMBOL(pci_iounmap);
diff --git a/include/asm-generic/iomap.h b/include/asm-generic/iomap.h
index 9b3eb6d86200..08237ae8b840 100644
--- a/include/asm-generic/iomap.h
+++ b/include/asm-generic/iomap.h
@@ -110,16 +110,6 @@ static inline void __iomem *ioremap_np(phys_addr_t offset, size_t size)
 }
 #endif
 
-#ifdef CONFIG_PCI
-/* Destroy a virtual mapping cookie for a PCI BAR (memory or IO) */
-struct pci_dev;
-extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
-#elif defined(CONFIG_GENERIC_IOMAP)
-struct pci_dev;
-static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
-{ }
-#endif
-
 #include <asm-generic/pci_iomap.h>
 
 #endif
diff --git a/include/asm-generic/pci_iomap.h b/include/asm-generic/pci_iomap.h
index df636c6d8e6c..5a2f9bf53384 100644
--- a/include/asm-generic/pci_iomap.h
+++ b/include/asm-generic/pci_iomap.h
@@ -18,6 +18,7 @@ extern void __iomem *pci_iomap_range(struct pci_dev *dev, int bar,
 extern void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
 					unsigned long offset,
 					unsigned long maxlen);
+extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
 /* Create a virtual mapping cookie for a port on a given PCI device.
  * Do not call this directly, it exists to make it easier for architectures
  * to override */
@@ -50,6 +51,8 @@ static inline void __iomem *pci_iomap_wc_range(struct pci_dev *dev, int bar,
 {
 	return NULL;
 }
+static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
+{ }
 #endif
 
 #endif /* __ASM_GENERIC_PCI_IOMAP_H */
</cut>

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [TCWG CI] Regression caused by linux: parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled
  2021-09-21 14:34 [TCWG CI] Regression caused by linux: parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled ci_notify
@ 2021-09-21 15:45 ` Nathan Chancellor
  0 siblings, 0 replies; 2+ messages in thread
From: Nathan Chancellor @ 2021-09-21 15:45 UTC (permalink / raw)
  To: ci_notify; +Cc: Helge Deller, arnd, linaro-toolchain, llvm

On Tue, Sep 21, 2021 at 02:34:47PM +0000, ci_notify@linaro.org wrote:
> [TCWG CI] Regression caused by linux: parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled:
> commit 9caea0007601d3bc6debec04f8b4cd6f4c2394be
> Author: Helge Deller <deller@gmx.de>
> 
>     parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled
> 
> Results regressed to
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_llvm:
> -5
> # build_abe qemu:
> -2
> # linux_n_obj:
> 37
> # First few build errors in logs:
> 
> from
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_llvm:
> -5
> # build_abe qemu:
> -2
> # linux_n_obj:
> 20151
> 
> THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
> 
> This commit has regressed these CI configurations:
>  - tcwg_kernel/llvm-master-aarch64-mainline-allyesconfig
> 
> First_bad build: https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/build-9caea0007601d3bc6debec04f8b4cd6f4c2394be/
> Last_good build: https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/build-31ad37bd6faf871c070650f72ac9488ceeeceeb0/
> Baseline build: https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/build-baseline/
> Even more details: https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-aarch64-mainline-allyesconfig/17/artifact/artifacts/

00:00:38 In file included from arch/arm64/kernel/asm-offsets.c:10:
00:00:38 In file included from ./include/linux/arm_sdei.h:8:
00:00:38 In file included from ./include/acpi/ghes.h:5:
00:00:38 In file included from ./include/acpi/apei.h:9:
00:00:38 In file included from ./include/linux/acpi.h:35:
00:00:38 In file included from ./include/acpi/acpi_io.h:5:
00:00:38 In file included from ./include/linux/io.h:13:
00:00:38 In file included from ./arch/arm64/include/asm/io.h:185:
00:00:38 ./include/asm-generic/io.h:1060:20: error: static declaration of 'pci_iounmap' follows non-static declaration
00:00:38 static inline void pci_iounmap(struct pci_dev *dev, void __iomem *p)
00:00:38                    ^
00:00:38 ./include/asm-generic/io.h:1059:21: note: expanded from macro 'pci_iounmap'
00:00:38 #define pci_iounmap pci_iounmap
00:00:38                     ^
00:00:38 ./include/asm-generic/pci_iomap.h:21:13: note: previous declaration is here
00:00:38 extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
00:00:38             ^
00:00:38 1 error generated.
00:00:38 make[1]: *** [scripts/Makefile.build:121: arch/arm64/kernel/asm-offsets.s] Error 1
00:00:38 make[1]: Target '__build' not remade because of errors.
00:00:38 make: *** [Makefile:1219: prepare0] Error 2
00:00:38 make: Target '__all' not remade because of errors.

Already reported and fixed:

https://lore.kernel.org/r/YUeriU9EIJ5hiFjL@archlinux-ax161/
316e8d79a095 ("pci_iounmap'2: Electric Boogaloo: try to make sense of it all")

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-09-21 15:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 14:34 [TCWG CI] Regression caused by linux: parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled ci_notify
2021-09-21 15:45 ` Nathan Chancellor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).