LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: rcutorture’s init segfaults in ppc64le VM
From: Zhouyi Zhou @ 2022-02-08  6:08 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: rcu, Paul Menzel, linuxppc-dev, w
In-Reply-To: <CAABZP2y10vv+fUWO+NWY=ckAX-cOkCPfQ1jsoSA=i2PzeFMkUg@mail.gmail.com>

Hi,

The mailing list forward the emails to me in periodic style, very
sorry not seeing Willy's email until I visited
https://lore.kernel.org/rcu/20220207180901.GB14608@1wt.eu/T/#u,  I am
also very interested in testing Willy's proposal.

Thanks a lot
Zhouyi

On Tue, Feb 8, 2022 at 1:46 PM Zhouyi Zhou <zhouzhouyi@gmail.com> wrote:
>
> Dear Paul
>
> I am also very interested in the topic.
> The Open source lab of Oregon State University has lent me a 8 core
> power ppc64el VM for 3 months, I guess I can try reproducing this bug
> in the Virtual Machine by executing qemu in non hardware accelerated
> mode (using -no-kvm argument).
> I am currently doing research on
> https://lore.kernel.org/rcu/20220201175023.GW4285@paulmck-ThinkPad-P17-Gen-1/T/#mc7e5f8ec99e3794bec1e38fbbb130e71172e4759,
> I think I can give a preliminary short report on that previous topic
> tomorrow. And I am very interested in doing a search on the new topic
> the day after tomorrow.
>
> Thank you both for providing me an opportunity to improve myself ;-)
>
> Thanks again
> Zhouyi
>
> On Tue, Feb 8, 2022 at 12:10 PM Paul E. McKenney <paulmck@kernel.org> wrote:
> >
> > On Mon, Feb 07, 2022 at 05:44:47PM +0100, Paul Menzel wrote:
> > > Dear Linux folks,
> > >
> > >
> > > On the POWER8 server IBM S822LC running Ubuntu 21.10, building Linux
> > > 5.17-rc2+ with rcutorture tests
> > >
> > >     $ tools/testing/selftests/rcutorture/bin/torture.sh --duration 10
> > >
> > > the built init
> > >
> > >     $ file tools/testing/selftests/rcutorture/initrd/init
> > >     tools/testing/selftests/rcutorture/initrd/init: ELF 64-bit LSB
> > > executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically
> > > linked, BuildID[sha1]=0ded0e45649184a296f30d611f7a03cc51ecb616, for
> > > GNU/Linux 3.10.0, stripped
> > >
> > > segfaults in QEMU. From one of the log files
> > >
> > >
> > > /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-rcutorture/TREE03/console.log
> > >
> > >     [    1.119803][    T1] Run /init as init process
> > >     [    1.122011][    T1] init[1]: segfault (11) at f0656d90 nip 10000a18
> > > lr 0 code 1 in init[10000000+d0000]
> > >     [    1.124863][    T1] init[1]: code: 2c2903e7 f9210030 4081ff84
> > > 4bffff58 00000000 01000000 00000580 3c40100f
> > >     [    1.128823][    T1] init[1]: code: 38427c00 7c290b78 782106e4
> > > 38000000 <f821ff81> 7c0803a6 f8010000 e9028010
> > >
> > > Executing the init, which just seems to be an endless loop, from userspace
> > > work:
> > >
> > >     $ strace ./tools/testing/selftests/rcutorture/initrd/init
> > >     execve("./tools/testing/selftests/rcutorture/initrd/init",
> > > ["./tools/testing/selftests/rcutor"...], 0x7ffffdb9e860 /* 31 vars */) = 0
> > >     brk(NULL)                               = 0x1001d940000
> > >     brk(0x1001d940b98)                      = 0x1001d940b98
> > >     set_tid_address(0x1001d9400d0)          = 2890832
> > >     set_robust_list(0x1001d9400e0, 24)      = 0
> > >     uname({sysname="Linux",
> > > nodename="flughafenberlinbrandenburgwillybrandt.molgen.mpg.de", ...}) = 0
> > >     prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024,
> > > rlim_max=RLIM64_INFINITY}) = 0
> > >     readlink("/proc/self/exe", "/dev/shm/linux/tools/testing/sel"..., 4096)
> > > = 61
> > >     getrandom("\xf1\x30\x4c\x9e\x82\x8d\x26\xd7", 8, GRND_NONBLOCK) = 8
> > >     brk(0x1001d970b98)                      = 0x1001d970b98
> > >     brk(0x1001d980000)                      = 0x1001d980000
> > >     mprotect(0x100e0000, 65536, PROT_READ)  = 0
> > >     clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0},
> > > 0x7ffffb22c8a8) = 0
> > >     clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0},
> > > 0x7ffffb22c8a8) = 0
> > >     clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, ^C{tv_sec=0,
> > > tv_nsec=872674044}) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
> > >     strace: Process 2890832 detached
> >
> > Huh.  In PowerPC, is there some difference between system calls
> > executed in initrd and those same system calls executed in userspace?
> >
> > And just to make sure, the above strace was from exactly the same
> > binary "init" file that is included in initrd, correct?
> >
> > Adding Willy Tarreau for his thoughts.
> >
> >                                                         Thanx, Paul
> >
> > > Any ideas, what `mkinitrd.sh` [2] should do differently?
> > >
> > > ```
> > > cat > init.c << '___EOF___'
> > > #ifndef NOLIBC
> > > #include <unistd.h>
> > > #include <sys/time.h>
> > > #endif
> > >
> > > volatile unsigned long delaycount;
> > >
> > > int main(int argc, int argv[])
> > > {
> > >       int i;
> > >       struct timeval tv;
> > >       struct timeval tvb;
> > >
> > >       for (;;) {
> > >               sleep(1);
> > >               /* Need some userspace time. */
> > >               if (gettimeofday(&tvb, NULL))
> > >                       continue;
> > >               do {
> > >                       for (i = 0; i < 1000 * 100; i++)
> > >                               delaycount = i * i;
> > >                       if (gettimeofday(&tv, NULL))
> > >                               break;
> > >                       tv.tv_sec -= tvb.tv_sec;
> > >                       if (tv.tv_sec > 1)
> > >                               break;
> > >                       tv.tv_usec += tv.tv_sec * 1000 * 1000;
> > >                       tv.tv_usec -= tvb.tv_usec;
> > >               } while (tv.tv_usec < 1000);
> > >       }
> > >       return 0;
> > > }
> > > ___EOF___
> > >
> > > # build using nolibc on supported archs (smaller executable) and fall
> > > # back to regular glibc on other ones.
> > > if echo -e "#if __x86_64__||__i386__||__i486__||__i586__||__i686__" \
> > >            "||__ARM_EABI__||__aarch64__\nyes\n#endif" \
> > >    | ${CROSS_COMPILE}gcc -E -nostdlib -xc - \
> > >    | grep -q '^yes'; then
> > >       # architecture supported by nolibc
> > >         ${CROSS_COMPILE}gcc -fno-asynchronous-unwind-tables -fno-ident \
> > >               -nostdlib -include ../../../../include/nolibc/nolibc.h \
> > >               -s -static -Os -o init init.c -lgcc
> > > else
> > >       ${CROSS_COMPILE}gcc -s -static -Os -o init init.c
> > > fi
> > > ```
> > >
> > >
> > > Kind regards,
> > >
> > > Paul
> > >
> > >
> > > [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/rcutorture/doc/initrd.txt
> > > [2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/rcutorture/bin/mkinitrd.sh

^ permalink raw reply

* Re: [PATCH 1/3] lib/raid6/test/Makefile: Use `$(pound)` instead of `\#` for Make 4.3
From: Song Liu @ 2022-02-08  6:43 UTC (permalink / raw)
  To: Paul Menzel; +Cc: linux-raid, linuxppc-dev, Matt Brown
In-Reply-To: <20220126114144.370517-1-pmenzel@molgen.mpg.de>

Hi Paul,

Sorry for the delayed reply.

On Wed, Jan 26, 2022 at 3:42 AM Paul Menzel <pmenzel@molgen.mpg.de> wrote:
>
> Buidling `raid6test` on Ubuntu 21.10 (ppc64le) with GNU Make 4.3 shows the
> errors below:

Please do not use `xxx` in the commit log (and subject).

>
>     $ cd lib/raid6/test/
>     $ make
>     <stdin>:1:1: error: stray ‘\’ in program
>     <stdin>:1:2: error: stray ‘#’ in program
>     <stdin>:1:11: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
>     cp -f ../int.uc int.uc
>     awk -f ../unroll.awk -vN=1 < int.uc > int1.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int1.o int1.c
>     awk -f ../unroll.awk -vN=2 < int.uc > int2.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int2.o int2.c
>     awk -f ../unroll.awk -vN=4 < int.uc > int4.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int4.o int4.c
>     awk -f ../unroll.awk -vN=8 < int.uc > int8.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int8.o int8.c
>     awk -f ../unroll.awk -vN=16 < int.uc > int16.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int16.o int16.c
>     awk -f ../unroll.awk -vN=32 < int.uc > int32.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int32.o int32.c
>     rm -f raid6.a
>     ar cq raid6.a int1.o int2.o int4.o int8.o int16.o int32.o recov.o algos.o tables.o
>     ranlib raid6.a
>     gcc -I.. -I ../../../include -g -O2                      -o raid6test test.c raid6.a
>     /usr/bin/ld: raid6.a(algos.o):/dev/shm/linux/lib/raid6/test/algos.c:28: multiple definition of `raid6_call'; /scratch/local/ccIJjN8s.o:/dev/shm/linux/lib/raid6/test/test.c:22: first defined here
>     collect2: error: ld returned 1 exit status
>     make: *** [Makefile:72: raid6test] Error 1
>
> The errors come from the `HAS_ALTIVEC` test, which fails, and the POWER
> optimized versions are not built. That’s also reason nobody noticed on the
> other architectures.
>
> GNU Make 4.3 does not remove the backslash anymore. From the 4.3 release
> announcment:
>
> > * WARNING: Backward-incompatibility!
> >   Number signs (#) appearing inside a macro reference or function invocation
> >   no longer introduce comments and should not be escaped with backslashes:
> >   thus a call such as:
> >     foo := $(shell echo '#')
> >   is legal.  Previously the number sign needed to be escaped, for example:
> >     foo := $(shell echo '\#')
> >   Now this latter will resolve to "\#".  If you want to write makefiles
> >   portable to both versions, assign the number sign to a variable:
> >     H := \#
> >     foo := $(shell echo '$H')
> >   This was claimed to be fixed in 3.81, but wasn't, for some reason.
> >   To detect this change search for 'nocomment' in the .FEATURES variable.
>
> So, do the same as commit 9564a8cf422d (Kbuild: fix # escaping in .cmd
> files for future Make) and commit 929bef467771 (bpf: Use $(pound) instead
> of \# in Makefiles) and define and use a `$(pound)` variable.

Please run ./scripts/checkpatch.pl against the patch files, and fix
errors/warnings
as much as possible.

Thanks,
Song

>
> Reference for the change in make:
> https://git.savannah.gnu.org/cgit/make.git/commit/?id=c6966b323811c37acedff05b57
>
> Cc: Matt Brown <matthew.brown.dev@gmail.com>
> Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
> ---
>  lib/raid6/test/Makefile | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile
> index a4c7cd74cff5..4fb7700a741b 100644
> --- a/lib/raid6/test/Makefile
> +++ b/lib/raid6/test/Makefile
> @@ -4,6 +4,8 @@
>  # from userspace.
>  #
>
> +pound := \#
> +
>  CC      = gcc
>  OPTFLAGS = -O2                 # Adjust as desired
>  CFLAGS  = -I.. -I ../../../include -g $(OPTFLAGS)
> @@ -42,7 +44,7 @@ else ifeq ($(HAS_NEON),yes)
>          OBJS   += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o
>          CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
>  else
> -        HAS_ALTIVEC := $(shell printf '\#include <altivec.h>\nvector int a;\n' |\
> +        HAS_ALTIVEC := $(shell printf '$(pound)include <altivec.h>\nvector int a;\n' |\
>                           gcc -c -x c - >/dev/null && rm ./-.o && echo yes)
>          ifeq ($(HAS_ALTIVEC),yes)
>                  CFLAGS += -I../../../arch/powerpc/include
> --
> 2.34.1
>

^ permalink raw reply

* [PATCH] ata: sata_fsl: fix sscanf() and sysfs_emit() format strings
From: Damien Le Moal @ 2022-02-08  6:46 UTC (permalink / raw)
  To: linuxppc-dev, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linux-ide

Use the %u format for unsigned int parameters handling with sscanf() and
sysfs_emit() to avoid compilation warnings. In
fsl_sata_rx_watermark_store(), the call to sscanf() to parse a single
argument is replaced with a call to kstrtouint().

While at it, also replace the printk(KERN_ERR) calls with dev_err()
calls and fix blank lines in fsl_sata_rx_watermark_store().

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
---
 drivers/ata/sata_fsl.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index da0152116d9f..556034a15430 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -322,7 +322,7 @@ static void fsl_sata_set_irq_coalescing(struct ata_host *host,
 static ssize_t fsl_sata_intr_coalescing_show(struct device *dev,
 		struct device_attribute *attr, char *buf)
 {
-	return sysfs_emit(buf, "%d	%d\n",
+	return sysfs_emit(buf, "%u	%u\n",
 			intr_coalescing_count, intr_coalescing_ticks);
 }
 
@@ -332,10 +332,8 @@ static ssize_t fsl_sata_intr_coalescing_store(struct device *dev,
 {
 	unsigned int coalescing_count,	coalescing_ticks;
 
-	if (sscanf(buf, "%d%d",
-				&coalescing_count,
-				&coalescing_ticks) != 2) {
-		printk(KERN_ERR "fsl-sata: wrong parameter format.\n");
+	if (sscanf(buf, "%u%u", &coalescing_count, &coalescing_ticks) != 2) {
+		dev_err(dev, "fsl-sata: wrong parameter format.\n");
 		return -EINVAL;
 	}
 
@@ -359,7 +357,7 @@ static ssize_t fsl_sata_rx_watermark_show(struct device *dev,
 	rx_watermark &= 0x1f;
 	spin_unlock_irqrestore(&host->lock, flags);
 
-	return sysfs_emit(buf, "%d\n", rx_watermark);
+	return sysfs_emit(buf, "%u\n", rx_watermark);
 }
 
 static ssize_t fsl_sata_rx_watermark_store(struct device *dev,
@@ -373,8 +371,8 @@ static ssize_t fsl_sata_rx_watermark_store(struct device *dev,
 	void __iomem *csr_base = host_priv->csr_base;
 	u32 temp;
 
-	if (sscanf(buf, "%d", &rx_watermark) != 1) {
-		printk(KERN_ERR "fsl-sata: wrong parameter format.\n");
+	if (kstrtouint(buf, 10, &rx_watermark) < 0) {
+		dev_err(dev, "fsl-sata: wrong parameter format.\n");
 		return -EINVAL;
 	}
 
@@ -382,8 +380,8 @@ static ssize_t fsl_sata_rx_watermark_store(struct device *dev,
 	temp = ioread32(csr_base + TRANSCFG);
 	temp &= 0xffffffe0;
 	iowrite32(temp | rx_watermark, csr_base + TRANSCFG);
-
 	spin_unlock_irqrestore(&host->lock, flags);
+
 	return strlen(buf);
 }
 
-- 
2.34.1


^ permalink raw reply related

* Re: [PATCH] ata: sata_fsl: fix sscanf() and sysfs_emit() format strings
From: Damien Le Moal @ 2022-02-08  6:50 UTC (permalink / raw)
  To: linuxppc-dev, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linux-ide
In-Reply-To: <20220208064601.237582-1-damien.lemoal@opensource.wdc.com>

On 2/8/22 15:46, Damien Le Moal wrote:
> Use the %u format for unsigned int parameters handling with sscanf() and
> sysfs_emit() to avoid compilation warnings. In
> fsl_sata_rx_watermark_store(), the call to sscanf() to parse a single
> argument is replaced with a call to kstrtouint().
> 
> While at it, also replace the printk(KERN_ERR) calls with dev_err()
> calls and fix blank lines in fsl_sata_rx_watermark_store().
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
> ---
>  drivers/ata/sata_fsl.c | 16 +++++++---------
>  1 file changed, 7 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
> index da0152116d9f..556034a15430 100644
> --- a/drivers/ata/sata_fsl.c
> +++ b/drivers/ata/sata_fsl.c
> @@ -322,7 +322,7 @@ static void fsl_sata_set_irq_coalescing(struct ata_host *host,
>  static ssize_t fsl_sata_intr_coalescing_show(struct device *dev,
>  		struct device_attribute *attr, char *buf)
>  {
> -	return sysfs_emit(buf, "%d	%d\n",
> +	return sysfs_emit(buf, "%u	%u\n",
>  			intr_coalescing_count, intr_coalescing_ticks);
>  }
>  
> @@ -332,10 +332,8 @@ static ssize_t fsl_sata_intr_coalescing_store(struct device *dev,
>  {
>  	unsigned int coalescing_count,	coalescing_ticks;
>  
> -	if (sscanf(buf, "%d%d",
> -				&coalescing_count,
> -				&coalescing_ticks) != 2) {
> -		printk(KERN_ERR "fsl-sata: wrong parameter format.\n");
> +	if (sscanf(buf, "%u%u", &coalescing_count, &coalescing_ticks) != 2) {

PPC folks,

The "%u%u" sscanf() format above seems totally bogus to me. How could 2
unsigned int without a separating characters be parsed as such ? Surely,
a separation character is needed, no ?

I cannot find any documentation on what the intr_coalescing sysfs
attribute format should be... Please have a look.


> +		dev_err(dev, "fsl-sata: wrong parameter format.\n");
>  		return -EINVAL;
>  	}
>  
> @@ -359,7 +357,7 @@ static ssize_t fsl_sata_rx_watermark_show(struct device *dev,
>  	rx_watermark &= 0x1f;
>  	spin_unlock_irqrestore(&host->lock, flags);
>  
> -	return sysfs_emit(buf, "%d\n", rx_watermark);
> +	return sysfs_emit(buf, "%u\n", rx_watermark);
>  }
>  
>  static ssize_t fsl_sata_rx_watermark_store(struct device *dev,
> @@ -373,8 +371,8 @@ static ssize_t fsl_sata_rx_watermark_store(struct device *dev,
>  	void __iomem *csr_base = host_priv->csr_base;
>  	u32 temp;
>  
> -	if (sscanf(buf, "%d", &rx_watermark) != 1) {
> -		printk(KERN_ERR "fsl-sata: wrong parameter format.\n");
> +	if (kstrtouint(buf, 10, &rx_watermark) < 0) {
> +		dev_err(dev, "fsl-sata: wrong parameter format.\n");
>  		return -EINVAL;
>  	}
>  
> @@ -382,8 +380,8 @@ static ssize_t fsl_sata_rx_watermark_store(struct device *dev,
>  	temp = ioread32(csr_base + TRANSCFG);
>  	temp &= 0xffffffe0;
>  	iowrite32(temp | rx_watermark, csr_base + TRANSCFG);
> -
>  	spin_unlock_irqrestore(&host->lock, flags);
> +
>  	return strlen(buf);
>  }
>  


-- 
Damien Le Moal
Western Digital Research

^ permalink raw reply

* ppc64le: `NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!` when turning off SMT
From: Paul Menzel @ 2022-02-08  7:32 UTC (permalink / raw)
  To: Frederic Weisbecker, Thomas Gleixner, Ingo Molnar; +Cc: linuxppc-dev, LKML

Dear Linux folks,


On the POWER8 server IBM S822LC running Ubuntu 21.10, Linux 5.17-rc1+ 
built with

     $ grep HZ /boot/config-5.17.0-rc1+
     CONFIG_NO_HZ_COMMON=y
     # CONFIG_HZ_PERIODIC is not set
     CONFIG_NO_HZ_IDLE=y
     # CONFIG_NO_HZ_FULL is not set
     CONFIG_NO_HZ=y
     # CONFIG_HZ_100 is not set
     CONFIG_HZ_250=y
     # CONFIG_HZ_300 is not set
     # CONFIG_HZ_1000 is not set
     CONFIG_HZ=250

once warned about a NOHZ tick-stop error, when I executed `sudo 
/usr/sbin/ppc64_cpu --smt=off` (so that KVM would work).

```
$ dmesg
[    0.000000] Linux version 5.17.0-rc1+ 
(pmenzel@flughafenberlinbrandenburgwillybrandt.molgen.mpg.de) (Ubuntu 
clang version 13.0.0-2, LLD 13.0.0) #1 SMP Fri Jan 28 17:13:04 CET 2022
[…]
[271272.030262] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271272.305726] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271272.549790] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271274.885167] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271275.113896] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271275.412902] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271275.625245] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271275.833107] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271276.041391] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
[271277.244880] NOHZ tick-stop error: Non-RCU local softirq work is 
pending, handler #20!!!
```


Kind regards,

Paul

^ permalink raw reply

* Re: ppc64le: `NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!` when turning off SMT
From: Paul Menzel @ 2022-02-08  7:35 UTC (permalink / raw)
  To: Frederic Weisbecker, Thomas Gleixner, Ingo Molnar; +Cc: linuxppc-dev, LKML
In-Reply-To: <0baca95b-771f-2217-1098-2d0eee568ea7@molgen.mpg.de>

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

[attach output of `dmesg`]

Am 08.02.22 um 08:32 schrieb Paul Menzel:
> Dear Linux folks,
> 
> 
> On the POWER8 server IBM S822LC running Ubuntu 21.10, Linux 5.17-rc1+ 
> built with
> 
>      $ grep HZ /boot/config-5.17.0-rc1+
>      CONFIG_NO_HZ_COMMON=y
>      # CONFIG_HZ_PERIODIC is not set
>      CONFIG_NO_HZ_IDLE=y
>      # CONFIG_NO_HZ_FULL is not set
>      CONFIG_NO_HZ=y
>      # CONFIG_HZ_100 is not set
>      CONFIG_HZ_250=y
>      # CONFIG_HZ_300 is not set
>      # CONFIG_HZ_1000 is not set
>      CONFIG_HZ=250
> 
> once warned about a NOHZ tick-stop error, when I executed `sudo 
> /usr/sbin/ppc64_cpu --smt=off` (so that KVM would work).
> 
> ```
> $ dmesg
> [    0.000000] Linux version 5.17.0-rc1+ 
> (pmenzel@flughafenberlinbrandenburgwillybrandt.molgen.mpg.de) (Ubuntu clang version 13.0.0-2, LLD 13.0.0) #1 SMP Fri Jan 28 17:13:04 CET 2022
> […]
> [271272.030262] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271272.305726] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271272.549790] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271274.885167] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271275.113896] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271275.412902] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271275.625245] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271275.833107] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271276.041391] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> [271277.244880] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
> ```
> 
> 
> Kind regards,
> 
> Paul

[-- Attachment #2: linux-5.17-rc1+-nohz-tick-stop-error.txt --]
[-- Type: text/plain, Size: 180962 bytes --]

[    0.000000] hash-mmu: Page sizes from device-tree:
[    0.000000] hash-mmu: base_shift=12: shift=12, sllp=0x0000, avpnm=0x00000000, tlbiel=1, penc=0
[    0.000000] hash-mmu: base_shift=12: shift=16, sllp=0x0000, avpnm=0x00000000, tlbiel=1, penc=7
[    0.000000] hash-mmu: base_shift=12: shift=24, sllp=0x0000, avpnm=0x00000000, tlbiel=1, penc=56
[    0.000000] hash-mmu: base_shift=16: shift=16, sllp=0x0110, avpnm=0x00000000, tlbiel=1, penc=1
[    0.000000] hash-mmu: base_shift=16: shift=24, sllp=0x0110, avpnm=0x00000000, tlbiel=1, penc=8
[    0.000000] hash-mmu: base_shift=20: shift=20, sllp=0x0130, avpnm=0x00000000, tlbiel=0, penc=2
[    0.000000] hash-mmu: base_shift=24: shift=24, sllp=0x0100, avpnm=0x00000001, tlbiel=0, penc=0
[    0.000000] hash-mmu: base_shift=34: shift=34, sllp=0x0120, avpnm=0x000007ff, tlbiel=0, penc=3
[    0.000000] Enabling pkeys with max key count 32
[    0.000000] Activating Kernel Userspace Access Prevention
[    0.000000] Activating Kernel Userspace Execution Prevention
[    0.000000] Page orders: linear mapping = 24, virtual = 16, io = 16, vmemmap = 24
[    0.000000] Using 1TB segments
[    0.000000] hash-mmu: Initializing hash mmu with SLB
[    0.000000] Linux version 5.17.0-rc1+ (pmenzel@flughafenberlinbrandenburgwillybrandt.molgen.mpg.de) (Ubuntu clang version 13.0.0-2, LLD 13.0.0) #1 SMP Fri Jan 28 17:13:04 CET 2022
[    0.000000] OPAL: Found non-mapped LPC bus on chip 0
[    0.000000] Using PowerNV machine description
[    0.000000] printk: bootconsole [udbg0] enabled
[    0.000000] CPU maps initialized for 8 threads per core
[    0.000000]  (thread shift is 3)
[    0.000000] Allocated 4608 bytes for 160 pacas
[    0.000000] -----------------------------------------------------
[    0.000000] phys_mem_size     = 0x10000000000
[    0.000000] dcache_bsize      = 0x80
[    0.000000] icache_bsize      = 0x80
[    0.000000] cpu_features      = 0x000000fb8f5db187
[    0.000000]   possible        = 0x000ffbfbcf5fb187
[    0.000000]   always          = 0x0000000380008181
[    0.000000] cpu_user_features = 0xdc0065c2 0xef000000
[    0.000000] mmu_features      = 0x7c006e01
[    0.000000] firmware_features = 0x0000000110000000
[    0.000000] vmalloc start     = 0xc008000000000000
[    0.000000] IO start          = 0xc00a000000000000
[    0.000000] vmemmap start     = 0xc00c000000000000
[    0.000000] hash-mmu: ppc64_pft_size    = 0x0
[    0.000000] hash-mmu: htab_hash_mask    = 0x7fffff
[    0.000000] -----------------------------------------------------
[    0.000000] kvm_cma_reserve: reserving 52428 MiB for global area
[    0.000000] cma: Reserved 52432 MiB at 0x0000000100000000
[    0.000000] numa:   NODE_DATA [mem 0x7fff920480-0x7fff927bff]
[    0.000000] numa:   NODE_DATA [mem 0xffff0c8880-0xffff0cffff]
[    0.000000] Section 65534 and 65535 (node 8) have a circular dependency on usemap and pgdat allocations
[    0.000000] rfi-flush: ori type flush available
[    0.000000] rfi-flush: patched 12 locations (ori type flush)
[    0.000000] count-cache-flush: flush disabled.
[    0.000000] link-stack-flush: software flush enabled.
[    0.000000] entry-flush: patched 61 locations (no flush)
[    0.000000] uaccess-flush: patched 1 locations (no flush)
[    0.000000] stf-barrier: hwsync barrier available
[    0.000000] stf-barrier: patched 61 entry locations (hwsync barrier)
[    0.000000] stf-barrier: patched 12 exit locations (hwsync barrier)
[    0.000000] OPAL nvram setup, 589824 bytes
[    0.000000] barrier-nospec: using ORI speculation barrier
[    0.000000] barrier-nospec: patched 330 locations
[    0.000000] Top of RAM: 0x10000000000, Total RAM: 0x10000000000
[    0.000000] Memory hole size: 0MB
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000ffffffffff]
[    0.000000]   Device   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000007fffffffff]
[    0.000000]   node   8: [mem 0x0000008000000000-0x000000ffffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000007fffffffff]
[    0.000000] Initmem setup node 8 [mem 0x0000008000000000-0x000000ffffffffff]
[    0.000000] percpu: Embedded 10 pages/cpu s593688 r0 d61672 u1048576
[    0.000000] pcpu-alloc: s593688 r0 d61672 u1048576 alloc=1*1048576
[    0.000000] pcpu-alloc: [0] 000 [0] 001 [0] 002 [0] 003 
[    0.000000] pcpu-alloc: [0] 004 [0] 005 [0] 006 [0] 007 
[    0.000000] pcpu-alloc: [0] 008 [0] 009 [0] 010 [0] 011 
[    0.000000] pcpu-alloc: [0] 012 [0] 013 [0] 014 [0] 015 
[    0.000000] pcpu-alloc: [0] 016 [0] 017 [0] 018 [0] 019 
[    0.000000] pcpu-alloc: [0] 020 [0] 021 [0] 022 [0] 023 
[    0.000000] pcpu-alloc: [0] 024 [0] 025 [0] 026 [0] 027 
[    0.000000] pcpu-alloc: [0] 028 [0] 029 [0] 030 [0] 031 
[    0.000000] pcpu-alloc: [0] 032 [0] 033 [0] 034 [0] 035 
[    0.000000] pcpu-alloc: [0] 036 [0] 037 [0] 038 [0] 039 
[    0.000000] pcpu-alloc: [0] 040 [0] 041 [0] 042 [0] 043 
[    0.000000] pcpu-alloc: [0] 044 [0] 045 [0] 046 [0] 047 
[    0.000000] pcpu-alloc: [0] 048 [0] 049 [0] 050 [0] 051 
[    0.000000] pcpu-alloc: [0] 052 [0] 053 [0] 054 [0] 055 
[    0.000000] pcpu-alloc: [0] 056 [0] 057 [0] 058 [0] 059 
[    0.000000] pcpu-alloc: [0] 060 [0] 061 [0] 062 [0] 063 
[    0.000000] pcpu-alloc: [0] 064 [0] 065 [0] 066 [0] 067 
[    0.000000] pcpu-alloc: [0] 068 [0] 069 [0] 070 [0] 071 
[    0.000000] pcpu-alloc: [0] 072 [0] 073 [0] 074 [0] 075 
[    0.000000] pcpu-alloc: [0] 076 [0] 077 [0] 078 [0] 079 
[    0.000000] pcpu-alloc: [1] 080 [1] 081 [1] 082 [1] 083 
[    0.000000] pcpu-alloc: [1] 084 [1] 085 [1] 086 [1] 087 
[    0.000000] pcpu-alloc: [1] 088 [1] 089 [1] 090 [1] 091 
[    0.000000] pcpu-alloc: [1] 092 [1] 093 [1] 094 [1] 095 
[    0.000000] pcpu-alloc: [1] 096 [1] 097 [1] 098 [1] 099 
[    0.000000] pcpu-alloc: [1] 100 [1] 101 [1] 102 [1] 103 
[    0.000000] pcpu-alloc: [1] 104 [1] 105 [1] 106 [1] 107 
[    0.000000] pcpu-alloc: [1] 108 [1] 109 [1] 110 [1] 111 
[    0.000000] pcpu-alloc: [1] 112 [1] 113 [1] 114 [1] 115 
[    0.000000] pcpu-alloc: [1] 116 [1] 117 [1] 118 [1] 119 
[    0.000000] pcpu-alloc: [1] 120 [1] 121 [1] 122 [1] 123 
[    0.000000] pcpu-alloc: [1] 124 [1] 125 [1] 126 [1] 127 
[    0.000000] pcpu-alloc: [1] 128 [1] 129 [1] 130 [1] 131 
[    0.000000] pcpu-alloc: [1] 132 [1] 133 [1] 134 [1] 135 
[    0.000000] pcpu-alloc: [1] 136 [1] 137 [1] 138 [1] 139 
[    0.000000] pcpu-alloc: [1] 140 [1] 141 [1] 142 [1] 143 
[    0.000000] pcpu-alloc: [1] 144 [1] 145 [1] 146 [1] 147 
[    0.000000] pcpu-alloc: [1] 148 [1] 149 [1] 150 [1] 151 
[    0.000000] pcpu-alloc: [1] 152 [1] 153 [1] 154 [1] 155 
[    0.000000] pcpu-alloc: [1] 156 [1] 157 [1] 158 [1] 159 
[    0.000000] Fallback order for Node 0: 0 8 
[    0.000000] Fallback order for Node 8: 8 0 
[    0.000000] Built 2 zonelists, mobility grouping on.  Total pages: 16760832
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: root=/dev/sda2 ro rootflags=subvol=@ initcall_debug log_buf_len=8M kmemleak=on noinitrd 
[    0.000000] printk: log_buf_len: 8388608 bytes
[    0.000000] printk: early log buf free: 124496(94%)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1017487616K/1073741824K available (18048K kernel code, 3712K rwdata, 4544K rodata, 6656K init, 6524K bss, 2563840K reserved, 53690368K cma-reserved)
[    0.000000] random: get_random_u64 called from kmem_cache_open+0x90/0x970 with crng_init=0
[    0.000000] SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=160, Nodes=9
[    0.000000] ftrace: allocating 40005 entries in 15 pages
[    0.000000] ftrace: allocated 15 pages with 4 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=2048 to nr_cpu_ids=160.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=160
[    0.000000] NR_IRQS: 512, nr_irqs: 512, preallocated irqs: 16
[    0.000000] ICS OPAL backend registered
[    0.000000] time_init: decrementer frequency = 512.000000 MHz
[    0.000000] time_init: processor frequency   = 2926.000000 MHz
[    0.000001] clocksource: timebase: mask: 0xffffffffffffffff max_cycles: 0x761537d007, max_idle_ns: 440795202126 ns
[    0.002508] clocksource: timebase mult[1f40000] shift[24] registered
[    0.004828] clockevent: decrementer mult[83126e98] shift[32] cpu[0]
[    0.008277] calling  check_legacy_serial_console+0x0/0x2b8 @ 0
[    0.008295] initcall check_legacy_serial_console+0x0/0x2b8 returned -19 after 0 usecs
[    0.008306] calling  con_init+0x0/0x2d8 @ 0
[    0.008355] Console: colour dummy device 80x25
[    0.008575] initcall con_init+0x0/0x2d8 returned 0 after 0 usecs
[    0.008587] calling  hvsi_console_init+0x0/0x364 @ 0
[    0.008782] initcall hvsi_console_init+0x0/0x364 returned 0 after 0 usecs
[    0.008796] calling  hvc_rtas_console_init+0x0/0xcc @ 0
[    0.008807] initcall hvc_rtas_console_init+0x0/0xcc returned -5 after 0 usecs
[    0.008820] calling  hvc_console_init+0x0/0x58 @ 0
[    0.008852] printk: console [hvc0] enabled
[    0.010166] printk: bootconsole [udbg0] disabled
[    0.011526] initcall hvc_console_init+0x0/0x58 returned 0 after 0 usecs
[    0.011536] calling  univ8250_console_init+0x0/0x78 @ 0
[    0.011554] initcall univ8250_console_init+0x0/0x78 returned 0 after 0 usecs
[    0.011564] calling  kgdboc_earlycon_late_init+0x0/0x68 @ 0
[    0.011574] initcall kgdboc_earlycon_late_init+0x0/0x68 returned 0 after 0 usecs
[    0.013678] mempolicy: Enabling automatic NUMA balancing. Configure with numa_balancing= or the kernel.numa_balancing sysctl
[    0.013753] pid_max: default: 163840 minimum: 1280
[    0.043777] Dentry cache hash table entries: 33554432 (order: 12, 268435456 bytes, vmalloc)
[    0.056323] Inode-cache hash table entries: 16777216 (order: 11, 134217728 bytes, vmalloc)
[    0.057988] Mount-cache hash table entries: 524288 (order: 6, 4194304 bytes, vmalloc)
[    0.058421] Mountpoint-cache hash table entries: 524288 (order: 6, 4194304 bytes, vmalloc)
[    0.074870] cblist_init_generic: Setting adjustable number of callback queues.
[    0.075138] cblist_init_generic: Setting shift to 7 and lim to 1.
[    0.075251] cblist_init_generic: Setting shift to 7 and lim to 1.
[    0.075471] calling  vdso_getcpu_init+0x0/0x90 @ 1
[    0.075487] initcall vdso_getcpu_init+0x0/0x90 returned 0 after 0 usecs
[    0.075498] calling  init_msr_all_available+0x0/0x78 @ 1
[    0.075510] initcall init_msr_all_available+0x0/0x78 returned 0 after 0 usecs
[    0.075521] calling  trace_init_flags_sys_enter+0x0/0x5c @ 1
[    0.075532] initcall trace_init_flags_sys_enter+0x0/0x5c returned 0 after 0 usecs
[    0.075543] calling  trace_init_flags_sys_exit+0x0/0x5c @ 1
[    0.075554] initcall trace_init_flags_sys_exit+0x0/0x5c returned 0 after 0 usecs
[    0.075565] calling  disable_hardlockup_detector+0x0/0x6c @ 1
[    0.075576] initcall disable_hardlockup_detector+0x0/0x6c returned 0 after 0 usecs
[    0.075588] calling  ioremap_legacy_serial_console+0x0/0x16c @ 1
[    0.075598] initcall ioremap_legacy_serial_console+0x0/0x16c returned 0 after 0 usecs
[    0.075609] calling  __machine_initcall_powernv_opal_register_exception_handlers+0x0/0x48 @ 1
[    0.075622] initcall __machine_initcall_powernv_opal_register_exception_handlers+0x0/0x48 returned 0 after 0 usecs
[    0.075636] calling  __machine_initcall_pseries_alloc_dispatch_log_kmem_cache+0x0/0xb8 @ 1
[    0.075648] initcall __machine_initcall_pseries_alloc_dispatch_log_kmem_cache+0x0/0xb8 returned 0 after 0 usecs
[    0.075660] calling  init_ppc64_pmu+0x0/0x134 @ 1
[    0.075672] POWER8 performance monitor hardware support registered
[    0.076569] initcall init_ppc64_pmu+0x0/0x134 returned 0 after 0 usecs
[    0.076580] calling  spawn_ksoftirqd+0x0/0xd0 @ 1
[    0.076664] initcall spawn_ksoftirqd+0x0/0xd0 returned 0 after 0 usecs
[    0.076675] calling  migration_init+0x0/0x50 @ 1
[    0.076686] initcall migration_init+0x0/0x50 returned 0 after 0 usecs
[    0.076697] calling  srcu_bootup_announce+0x0/0x7c @ 1
[    0.076708] rcu: Hierarchical SRCU implementation.
[    0.076761] initcall srcu_bootup_announce+0x0/0x7c returned 0 after 0 usecs
[    0.076773] calling  rcu_spawn_gp_kthread+0x0/0x1d0 @ 1
[    0.076860] initcall rcu_spawn_gp_kthread+0x0/0x1d0 returned 0 after 0 usecs
[    0.076873] calling  check_cpu_stall_init+0x0/0x60 @ 1
[    0.076884] initcall check_cpu_stall_init+0x0/0x60 returned 0 after 0 usecs
[    0.076896] calling  rcu_sysrq_init+0x0/0x98 @ 1
[    0.076907] initcall rcu_sysrq_init+0x0/0x98 returned 0 after 0 usecs
[    0.076919] calling  cpu_stop_init+0x0/0x164 @ 1
[    0.077017] initcall cpu_stop_init+0x0/0x164 returned 0 after 0 usecs
[    0.077028] calling  init_kprobes+0x0/0x134 @ 1
[    0.079090] initcall init_kprobes+0x0/0x134 returned 0 after 0 usecs
[    0.079101] calling  init_events+0x0/0x118 @ 1
[    0.079126] initcall init_events+0x0/0x118 returned 0 after 0 usecs
[    0.079137] calling  init_trace_printk+0x0/0x40 @ 1
[    0.079147] initcall init_trace_printk+0x0/0x40 returned 0 after 0 usecs
[    0.079158] calling  event_trace_enable_again+0x0/0x7c @ 1
[    0.079170] initcall event_trace_enable_again+0x0/0x7c returned 0 after 0 usecs
[    0.079181] calling  irq_work_init_threads+0x0/0x14 @ 1
[    0.079192] initcall irq_work_init_threads+0x0/0x14 returned 0 after 0 usecs
[    0.079203] calling  jump_label_init_module+0x0/0x54 @ 1
[    0.079215] initcall jump_label_init_module+0x0/0x54 returned 0 after 0 usecs
[    0.079227] calling  init_zero_pfn+0x0/0x5c @ 1
[    0.079236] initcall init_zero_pfn+0x0/0x5c returned 0 after 0 usecs
[    0.079245] calling  init_fs_inode_sysctls+0x0/0x68 @ 1
[    0.079264] initcall init_fs_inode_sysctls+0x0/0x68 returned 0 after 0 usecs
[    0.079275] calling  init_fs_locks_sysctls+0x0/0x68 @ 1
[    0.079291] initcall init_fs_locks_sysctls+0x0/0x68 returned 0 after 0 usecs
[    0.079303] calling  dynamic_debug_init+0x0/0x260 @ 1
[    0.080204] initcall dynamic_debug_init+0x0/0x260 returned 0 after 3906 usecs
[    0.080216] calling  initialize_ptr_random+0x0/0x98 @ 1
[    0.080228] initcall initialize_ptr_random+0x0/0x98 returned 0 after 0 usecs
[    0.080239] calling  dummy_timer_register+0x0/0x6c @ 1
[    0.080263] initcall dummy_timer_register+0x0/0x6c returned 0 after 0 usecs
[    0.085849] smp: Bringing up secondary CPUs ...
[    0.366982] smp: Brought up 2 nodes, 160 CPUs
[    0.367225] numa: Node 0 CPUs: 0-79
[    0.367265] numa: Node 8 CPUs: 80-159
[    0.517336] devtmpfs: initialized
[    1.246095] calling  ipc_ns_init+0x0/0x7c @ 1
[    1.246127] initcall ipc_ns_init+0x0/0x7c returned 0 after 0 usecs
[    1.246142] calling  init_mmap_min_addr+0x0/0x58 @ 1
[    1.246155] initcall init_mmap_min_addr+0x0/0x58 returned 0 after 0 usecs
[    1.246170] calling  pci_realloc_setup_params+0x0/0x90 @ 1
[    1.246185] initcall pci_realloc_setup_params+0x0/0x90 returned 0 after 0 usecs
[    1.246202] calling  net_ns_init+0x0/0x1b4 @ 1
[    1.247413] initcall net_ns_init+0x0/0x1b4 returned 0 after 0 usecs
[    1.247428] calling  inet_frag_wq_init+0x0/0x8c @ 1
[    1.248233] initcall inet_frag_wq_init+0x0/0x8c returned 0 after 0 usecs
[    1.248290] calling  check_kvm_guest+0x0/0xa8 @ 1
[    1.248350] initcall check_kvm_guest+0x0/0xa8 returned 0 after 0 usecs
[    1.248366] calling  proc_ppc64_create+0x0/0x120 @ 1
[    1.248799] initcall proc_ppc64_create+0x0/0x120 returned 0 after 0 usecs
[    1.248815] calling  discover_phbs+0x0/0x6c @ 1
[    1.249413] Initializing IODA2 PHB (/pciex@3fffe40000000)
[    1.249774] PCI host bridge /pciex@3fffe40000000 (primary) ranges:
[    1.249830]  MEM 0x00003fe000000000..0x00003fe07ffeffff -> 0x0000000080000000 
[    1.250316]  MEM 0x0000200000000000..0x000020ffffffffff -> 0x0000200000000000 (M64 #0..15)
[    1.250359]  Using M64 #15 as default window
[    1.250597]   256 (255) PE's M32: 0x80000000 [segment=0x800000]
[    1.250632]                  M64: 0x10000000000 [segment=0x100000000]
[    1.250671]   Allocated bitmap for 2040 MSIs (base IRQ 0x800)
[    1.253697] Initializing IODA2 PHB (/pciex@3fffe40100000)
[    1.253940] PCI host bridge /pciex@3fffe40100000  ranges:
[    1.254099]  MEM 0x00003fe080000000..0x00003fe0fffeffff -> 0x0000000080000000 
[    1.254289]  MEM 0x0000210000000000..0x000021ffffffffff -> 0x0000210000000000 (M64 #0..15)
[    1.254330]  Using M64 #15 as default window
[    1.254407]   256 (255) PE's M32: 0x80000000 [segment=0x800000]
[    1.254441]                  M64: 0x10000000000 [segment=0x100000000]
[    1.254632]   Allocated bitmap for 2040 MSIs (base IRQ 0x1000)
[    1.256464] Initializing IODA2 PHB (/pciex@3fffe41000000)
[    1.256640] PCI host bridge /pciex@3fffe41000000  ranges:
[    1.256837]  MEM 0x00003fe800000000..0x00003fe87ffeffff -> 0x0000000080000000 
[    1.256953]  MEM 0x0000240000000000..0x000024ffffffffff -> 0x0000240000000000 (M64 #0..15)
[    1.256994]  Using M64 #15 as default window
[    1.257072]   256 (255) PE's M32: 0x80000000 [segment=0x800000]
[    1.257107]                  M64: 0x10000000000 [segment=0x100000000]
[    1.257144]   Allocated bitmap for 2040 MSIs (base IRQ 0x10800)
[    1.259137] Initializing IODA2 PHB (/pciex@3fffe41100000)
[    1.259335] PCI host bridge /pciex@3fffe41100000  ranges:
[    1.259531]  MEM 0x00003fe880000000..0x00003fe8fffeffff -> 0x0000000080000000 
[    1.259646]  MEM 0x0000250000000000..0x000025ffffffffff -> 0x0000250000000000 (M64 #0..15)
[    1.259687]  Using M64 #15 as default window
[    1.259766]   256 (255) PE's M32: 0x80000000 [segment=0x800000]
[    1.259800]                  M64: 0x10000000000 [segment=0x100000000]
[    1.259838]   Allocated bitmap for 2040 MSIs (base IRQ 0x11000)
[    1.261930] Initializing IODA2 PHB (/pciex@3fffe41200000)
[    1.262107] PCI host bridge /pciex@3fffe41200000  ranges:
[    1.262306]  MEM 0x00003fe900000000..0x00003fe97ffeffff -> 0x0000000080000000 
[    1.262421]  MEM 0x0000260000000000..0x000026ffffffffff -> 0x0000260000000000 (M64 #0..15)
[    1.262463]  Using M64 #15 as default window
[    1.262540]   256 (255) PE's M32: 0x80000000 [segment=0x800000]
[    1.262574]                  M64: 0x10000000000 [segment=0x100000000]
[    1.262612]   Allocated bitmap for 2040 MSIs (base IRQ 0x11800)
[    1.265155] initcall discover_phbs+0x0/0x6c returned 0 after 15625 usecs
[    1.265173] calling  alloc_frozen_cpus+0x0/0x48 @ 1
[    1.265188] initcall alloc_frozen_cpus+0x0/0x48 returned 0 after 0 usecs
[    1.265203] calling  cpu_hotplug_pm_sync_init+0x0/0x58 @ 1
[    1.265219] initcall cpu_hotplug_pm_sync_init+0x0/0x58 returned 0 after 0 usecs
[    1.265234] calling  wq_sysfs_init+0x0/0x7c @ 1
[    1.265440] initcall wq_sysfs_init+0x0/0x7c returned 0 after 0 usecs
[    1.265455] calling  ksysfs_init+0x0/0x11c @ 1
[    1.265549] initcall ksysfs_init+0x0/0x11c returned 0 after 3906 usecs
[    1.265565] calling  schedutil_gov_init+0x0/0x54 @ 1
[    1.265580] initcall schedutil_gov_init+0x0/0x54 returned 0 after 0 usecs
[    1.265596] calling  pm_init+0x0/0x104 @ 1
[    1.266594] initcall pm_init+0x0/0x104 returned 0 after 0 usecs
[    1.266610] calling  rcu_set_runtime_mode+0x0/0x60 @ 1
[    1.266702] initcall rcu_set_runtime_mode+0x0/0x60 returned 0 after 0 usecs
[    1.266719] calling  init_jiffies_clocksource+0x0/0x5c @ 1
[    1.266733] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    1.266969] initcall init_jiffies_clocksource+0x0/0x5c returned 0 after 0 usecs
[    1.266983] calling  futex_init+0x0/0x180 @ 1
[    1.267087] futex hash table entries: 65536 (order: 7, 8388608 bytes, vmalloc)
[    1.271721] initcall futex_init+0x0/0x180 returned 0 after 3906 usecs
[    1.271748] calling  cgroup_wq_init+0x0/0x74 @ 1
[    1.272583] initcall cgroup_wq_init+0x0/0x74 returned 0 after 0 usecs
[    1.272598] calling  cgroup1_wq_init+0x0/0x74 @ 1
[    1.273206] initcall cgroup1_wq_init+0x0/0x74 returned 0 after 0 usecs
[    1.273221] calling  ftrace_mod_cmd_init+0x0/0x20 @ 1
[    1.273236] initcall ftrace_mod_cmd_init+0x0/0x20 returned 0 after 0 usecs
[    1.273251] calling  init_wakeup_tracer+0x0/0x74 @ 1
[    1.273280] initcall init_wakeup_tracer+0x0/0x74 returned 0 after 0 usecs
[    1.273295] calling  init_graph_trace+0x0/0xc0 @ 1
[    1.273315] initcall init_graph_trace+0x0/0xc0 returned 0 after 0 usecs
[    1.273330] calling  trace_events_eprobe_init_early+0x0/0x6c @ 1
[    1.273346] initcall trace_events_eprobe_init_early+0x0/0x6c returned 0 after 0 usecs
[    1.273362] calling  trace_events_synth_init_early+0x0/0x6c @ 1
[    1.273377] initcall trace_events_synth_init_early+0x0/0x6c returned 0 after 0 usecs
[    1.273393] calling  init_kprobe_trace_early+0x0/0x68 @ 1
[    1.273410] initcall init_kprobe_trace_early+0x0/0x68 returned 0 after 0 usecs
[    1.273426] calling  mem_cgroup_swap_init+0x0/0xd8 @ 1
[    1.273451] initcall mem_cgroup_swap_init+0x0/0xd8 returned 0 after 0 usecs
[    1.273466] calling  memory_failure_init+0x0/0x16c @ 1
[    1.273518] initcall memory_failure_init+0x0/0x16c returned 0 after 0 usecs
[    1.273534] calling  cma_init_reserved_areas+0x0/0xcc @ 1
[    1.333548] initcall cma_init_reserved_areas+0x0/0xcc returned 0 after 54687 usecs
[    1.333585] calling  fsnotify_init+0x0/0xa0 @ 1
[    1.335239] initcall fsnotify_init+0x0/0xa0 returned 0 after 3906 usecs
[    1.335257] calling  filelock_init+0x0/0x178 @ 1
[    1.337247] initcall filelock_init+0x0/0x178 returned 0 after 0 usecs
[    1.337265] calling  init_script_binfmt+0x0/0x5c @ 1
[    1.337281] initcall init_script_binfmt+0x0/0x5c returned 0 after 0 usecs
[    1.337297] calling  init_elf_binfmt+0x0/0x5c @ 1
[    1.337312] initcall init_elf_binfmt+0x0/0x5c returned 0 after 0 usecs
[    1.337328] calling  init_compat_elf_binfmt+0x0/0x5c @ 1
[    1.337343] initcall init_compat_elf_binfmt+0x0/0x5c returned 0 after 0 usecs
[    1.337360] calling  configfs_init+0x0/0x130 @ 1
[    1.337397] initcall configfs_init+0x0/0x130 returned 0 after 0 usecs
[    1.337411] calling  debugfs_init+0x0/0xe0 @ 1
[    1.337430] initcall debugfs_init+0x0/0xe0 returned 0 after 0 usecs
[    1.337444] calling  tracefs_init+0x0/0x98 @ 1
[    1.337462] initcall tracefs_init+0x0/0x98 returned 0 after 0 usecs
[    1.337476] calling  securityfs_init+0x0/0xc0 @ 1
[    1.337496] initcall securityfs_init+0x0/0xc0 returned 0 after 0 usecs
[    1.337510] calling  register_xor_blocks+0x0/0xa4 @ 1
[    1.337524] initcall register_xor_blocks+0x0/0xa4 returned 0 after 0 usecs
[    1.337538] calling  prandom_init_early+0x0/0x1d4 @ 1
[    1.337576] initcall prandom_init_early+0x0/0x1d4 returned 0 after 0 usecs
[    1.337591] calling  pinctrl_init+0x0/0x120 @ 1
[    1.337605] pinctrl core: initialized pinctrl subsystem
[    1.341094] initcall pinctrl_init+0x0/0x120 returned 0 after 3906 usecs
[    1.341111] calling  gpiolib_dev_init+0x0/0x148 @ 1
[    1.341259] initcall gpiolib_dev_init+0x0/0x148 returned 0 after 0 usecs
[    1.341274] calling  virtio_init+0x0/0x70 @ 1
[    1.341350] initcall virtio_init+0x0/0x70 returned 0 after 0 usecs
[    1.341366] calling  regulator_init+0x0/0x140 @ 1
[    1.342008] initcall regulator_init+0x0/0x140 returned 0 after 3906 usecs
[    1.342025] calling  iommu_init+0x0/0x7c @ 1
[    1.342047] initcall iommu_init+0x0/0x7c returned 0 after 0 usecs
[    1.342061] calling  component_debug_init+0x0/0x68 @ 1
[    1.342112] initcall component_debug_init+0x0/0x68 returned 0 after 0 usecs
[    1.342126] calling  opp_debug_init+0x0/0x68 @ 1
[    1.342156] initcall opp_debug_init+0x0/0x68 returned 0 after 0 usecs
[    1.342172] calling  cpufreq_core_init+0x0/0xd0 @ 1
[    1.342199] initcall cpufreq_core_init+0x0/0xd0 returned 0 after 0 usecs
[    1.342215] calling  cpufreq_gov_performance_init+0x0/0x54 @ 1
[    1.342232] initcall cpufreq_gov_performance_init+0x0/0x54 returned 0 after 0 usecs
[    1.342250] calling  cpufreq_gov_powersave_init+0x0/0x54 @ 1
[    1.342266] initcall cpufreq_gov_powersave_init+0x0/0x54 returned 0 after 0 usecs
[    1.342282] calling  cpufreq_gov_userspace_init+0x0/0x54 @ 1
[    1.342298] initcall cpufreq_gov_userspace_init+0x0/0x54 returned 0 after 0 usecs
[    1.342315] calling  CPU_FREQ_GOV_ONDEMAND_init+0x0/0x54 @ 1
[    1.342329] initcall CPU_FREQ_GOV_ONDEMAND_init+0x0/0x54 returned 0 after 0 usecs
[    1.342343] calling  CPU_FREQ_GOV_CONSERVATIVE_init+0x0/0x54 @ 1
[    1.342357] initcall CPU_FREQ_GOV_CONSERVATIVE_init+0x0/0x54 returned 0 after 0 usecs
[    1.342371] calling  cpuidle_init+0x0/0x70 @ 1
[    1.342412] initcall cpuidle_init+0x0/0x70 returned 0 after 0 usecs
[    1.342426] calling  sock_init+0x0/0x128 @ 1
[    1.347993] initcall sock_init+0x0/0x128 returned 0 after 3906 usecs
[    1.348008] calling  net_inuse_init+0x0/0x70 @ 1
[    1.348571] initcall net_inuse_init+0x0/0x70 returned 0 after 0 usecs
[    1.348586] calling  net_defaults_init+0x0/0x6c @ 1
[    1.348600] initcall net_defaults_init+0x0/0x6c returned 0 after 0 usecs
[    1.348614] calling  init_default_flow_dissectors+0x0/0x90 @ 1
[    1.348630] initcall init_default_flow_dissectors+0x0/0x90 returned 0 after 0 usecs
[    1.348645] calling  netlink_proto_init+0x0/0x1bc @ 1
[    1.348818] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    1.349021] initcall netlink_proto_init+0x0/0x1bc returned 0 after 0 usecs
[    1.349037] calling  genl_init+0x0/0x8c @ 1
[    1.349075] initcall genl_init+0x0/0x8c returned 0 after 0 usecs
[    1.349141] calling  epapr_idle_init+0x0/0x48 @ 1
[    1.349154] initcall epapr_idle_init+0x0/0x48 returned 0 after 0 usecs
[    1.349168] calling  kvm_guest_init+0x0/0xe4 @ 1
[    1.349180] initcall kvm_guest_init+0x0/0xe4 returned 0 after 0 usecs
[    1.349194] calling  __machine_initcall_pseries_vio_bus_init+0x0/0x78 @ 1
[    1.349209] initcall __machine_initcall_pseries_vio_bus_init+0x0/0x78 returned 0 after 0 usecs
[    1.349225] calling  irq_sysfs_init+0x0/0x18c @ 1
[    1.350205] initcall irq_sysfs_init+0x0/0x18c returned 0 after 3906 usecs
[    1.350222] calling  audit_init+0x0/0x1ec @ 1
[    1.351009] audit: initializing netlink subsys (disabled)
[    1.351485] initcall audit_init+0x0/0x1ec returned 0 after 0 usecs
[    1.351492] audit: type=2000 audit(1643477171.340:1): state=initialized audit_enabled=0 res=1
[    1.351500] calling  release_early_probes+0x0/0x9c @ 1
[    1.351696] initcall release_early_probes+0x0/0x9c returned 0 after 0 usecs
[    1.351711] calling  bdi_class_init+0x0/0xac @ 1
[    1.351769] initcall bdi_class_init+0x0/0xac returned 0 after 0 usecs
[    1.351785] calling  mm_sysfs_init+0x0/0x7c @ 1
[    1.351810] initcall mm_sysfs_init+0x0/0x7c returned 0 after 0 usecs
[    1.351825] calling  init_per_zone_wmark_min+0x0/0x64 @ 1
[    1.352060] initcall init_per_zone_wmark_min+0x0/0x64 returned 0 after 0 usecs
[    1.352075] calling  mpi_init+0x0/0xf4 @ 1
[    1.352122] initcall mpi_init+0x0/0xf4 returned 0 after 0 usecs
[    1.352137] calling  kobject_uevent_init+0x0/0x40 @ 1
[    1.352171] initcall kobject_uevent_init+0x0/0x40 returned 0 after 0 usecs
[    1.352187] calling  gpiolib_sysfs_init+0x0/0x108 @ 1
[    1.352238] initcall gpiolib_sysfs_init+0x0/0x108 returned 0 after 0 usecs
[    1.352254] calling  pcibus_class_init+0x0/0x5c @ 1
[    1.352292] initcall pcibus_class_init+0x0/0x5c returned 0 after 0 usecs
[    1.352308] calling  pci_driver_init+0x0/0x54 @ 1
[    1.352387] initcall pci_driver_init+0x0/0x54 returned 0 after 0 usecs
[    1.352403] calling  rio_bus_init+0x0/0xb0 @ 1
[    1.352511] initcall rio_bus_init+0x0/0xb0 returned 0 after 0 usecs
[    1.352527] calling  tty_class_init+0x0/0x88 @ 1
[    1.352569] initcall tty_class_init+0x0/0x88 returned 0 after 0 usecs
[    1.352584] calling  vtconsole_class_init+0x0/0x18c @ 1
[    1.352792] initcall vtconsole_class_init+0x0/0x18c returned 0 after 0 usecs
[    1.352809] calling  serdev_init+0x0/0x70 @ 1
[    1.352881] initcall serdev_init+0x0/0x70 returned 0 after 0 usecs
[    1.352894] calling  iommu_dev_init+0x0/0x5c @ 1
[    1.352931] initcall iommu_dev_init+0x0/0x5c returned 0 after 0 usecs
[    1.352944] calling  devlink_class_init+0x0/0xb0 @ 1
[    1.352983] initcall devlink_class_init+0x0/0xb0 returned 0 after 0 usecs
[    1.352997] calling  software_node_init+0x0/0x88 @ 1
[    1.353019] initcall software_node_init+0x0/0x88 returned 0 after 0 usecs
[    1.353034] calling  wakeup_sources_debugfs_init+0x0/0x6c @ 1
[    1.353062] initcall wakeup_sources_debugfs_init+0x0/0x6c returned 0 after 0 usecs
[    1.353077] calling  wakeup_sources_sysfs_init+0x0/0x88 @ 1
[    1.353118] initcall wakeup_sources_sysfs_init+0x0/0x88 returned 0 after 0 usecs
[    1.353133] calling  register_node_type+0x0/0x84 @ 1
[    1.353320] initcall register_node_type+0x0/0x84 returned 0 after 0 usecs
[    1.353335] calling  regmap_initcall+0x0/0x50 @ 1
[    1.353362] initcall regmap_initcall+0x0/0x50 returned 0 after 0 usecs
[    1.353377] calling  sram_init+0x0/0x58 @ 1
[    1.353437] initcall sram_init+0x0/0x58 returned 0 after 0 usecs
[    1.353450] calling  syscon_init+0x0/0x58 @ 1
[    1.353507] initcall syscon_init+0x0/0x58 returned 0 after 0 usecs
[    1.353521] calling  spi_init+0x0/0x158 @ 1
[    1.353644] initcall spi_init+0x0/0x158 returned 0 after 0 usecs
[    1.353659] calling  i2c_init+0x0/0x168 @ 1
[    1.353789] initcall i2c_init+0x0/0x168 returned 0 after 3906 usecs
[    1.353805] calling  thermal_init+0x0/0x140 @ 1
[    1.353821] thermal_sys: Registered thermal governor 'fair_share'
[    1.353828] thermal_sys: Registered thermal governor 'bang_bang'
[    1.353995] thermal_sys: Registered thermal governor 'step_wise'
[    1.354103] thermal_sys: Registered thermal governor 'user_space'
[    1.354524] initcall thermal_init+0x0/0x140 returned 0 after 0 usecs
[    1.354565] calling  init_ladder+0x0/0xa0 @ 1
[    1.355200] cpuidle: using governor ladder
[    1.355374] initcall init_ladder+0x0/0xa0 returned 0 after 0 usecs
[    1.355388] calling  init_menu+0x0/0x54 @ 1
[    1.355709] cpuidle: using governor menu
[    1.355884] initcall init_menu+0x0/0x54 returned 0 after 0 usecs
[    1.355937] calling  vdso_init+0x0/0x150 @ 1
[    1.356195] initcall vdso_init+0x0/0x150 returned 0 after 0 usecs
[    1.356210] calling  arch_kdebugfs_init+0x0/0x68 @ 1
[    1.356340] initcall arch_kdebugfs_init+0x0/0x68 returned 0 after 0 usecs
[    1.356355] calling  dawr_force_setup+0x0/0xa0 @ 1
[    1.356369] initcall dawr_force_setup+0x0/0xa0 returned 0 after 0 usecs
[    1.356384] calling  rtas_event_scan_init+0x0/0x158 @ 1
[    1.356398] initcall rtas_event_scan_init+0x0/0x158 returned 0 after 0 usecs
[    1.356414] calling  isa_bridge_init+0x0/0x60 @ 1
[    1.356428] initcall isa_bridge_init+0x0/0x60 returned 0 after 0 usecs
[    1.356441] calling  ppc_pci_register_irq_notifier+0x0/0x60 @ 1
[    1.356458] initcall ppc_pci_register_irq_notifier+0x0/0x60 returned 0 after 0 usecs
[    1.356474] calling  pgtable_debugfs_setup+0x0/0xa8 @ 1
[    1.356501] initcall pgtable_debugfs_setup+0x0/0xa8 returned 0 after 0 usecs
[    1.356516] calling  hugetlbpage_init+0x0/0x1d0 @ 1
[    1.356543] initcall hugetlbpage_init+0x0/0x1d0 returned 0 after 0 usecs
[    1.356558] calling  __machine_initcall_powernv_xive_core_debug_init+0x0/0x70 @ 1
[    1.356575] initcall __machine_initcall_powernv_xive_core_debug_init+0x0/0x70 returned 0 after 0 usecs
[    1.356592] calling  __machine_initcall_pseries_xive_core_debug_init+0x0/0x70 @ 1
[    1.356609] initcall __machine_initcall_pseries_xive_core_debug_init+0x0/0x70 returned 0 after 0 usecs
[    1.356626] calling  __machine_initcall_powernv_opal_nvram_init_log_partitions+0x0/0x7c @ 1
[    1.357116] pstore: Registered nvram as persistent store backend
[    1.357148] initcall __machine_initcall_powernv_opal_nvram_init_log_partitions+0x0/0x7c returned 0 after 0 usecs
[    1.357168] calling  __machine_initcall_powernv_opal_event_init+0x0/0x78 @ 1
[    1.371869] initcall __machine_initcall_powernv_opal_event_init+0x0/0x78 returned 0 after 15625 usecs
[    1.371889] calling  __machine_initcall_powernv_eeh_powernv_init+0x0/0x78 @ 1
[    1.372104] EEH: PowerNV platform initialized
[    1.372220] initcall __machine_initcall_powernv_eeh_powernv_init+0x0/0x78 returned 0 after 0 usecs
[    1.372236] calling  __machine_initcall_pseries_vpa_debugfs_init+0x0/0x6c @ 1
[    1.372251] initcall __machine_initcall_pseries_vpa_debugfs_init+0x0/0x6c returned 0 after 0 usecs
[    1.372266] calling  __machine_initcall_pseries_pseries_nvram_init_log_partitions+0x0/0x6c @ 1
[    1.372282] initcall __machine_initcall_pseries_pseries_nvram_init_log_partitions+0x0/0x6c returned 0 after 0 usecs
[    1.372299] calling  __machine_initcall_pseries_pSeries_init_panel+0x0/0xb4 @ 1
[    1.372313] initcall __machine_initcall_pseries_pSeries_init_panel+0x0/0xb4 returned 0 after 0 usecs
[    1.372329] calling  __machine_initcall_pseries_find_existing_ddw_windows+0x0/0x90 @ 1
[    1.372345] initcall __machine_initcall_pseries_find_existing_ddw_windows+0x0/0x90 returned 0 after 0 usecs
[    1.372360] calling  __machine_initcall_pseries_eeh_pseries_init+0x0/0x78 @ 1
[    1.372375] initcall __machine_initcall_pseries_eeh_pseries_init+0x0/0x78 returned 0 after 0 usecs
[    1.372392] calling  __machine_initcall_pseries_rtas_msi_init+0x0/0x78 @ 1
[    1.372406] initcall __machine_initcall_pseries_rtas_msi_init+0x0/0x78 returned 0 after 0 usecs
[    1.372422] calling  __machine_initcall_pseries_pseries_cpu_hotplug_init+0x0/0x6c @ 1
[    1.372438] initcall __machine_initcall_pseries_pseries_cpu_hotplug_init+0x0/0x6c returned 0 after 0 usecs
[    1.372454] calling  __machine_initcall_pseries_pseries_pmem_init+0x0/0x68 @ 1
[    1.372469] initcall __machine_initcall_pseries_pseries_pmem_init+0x0/0x68 returned 0 after 0 usecs
[    1.372485] calling  __machine_initcall_pseries_dtl_init+0x0/0x234 @ 1
[    1.372499] initcall __machine_initcall_pseries_dtl_init+0x0/0x234 returned 0 after 0 usecs
[    1.372514] calling  kcmp_cookies_init+0x0/0x88 @ 1
[    1.372533] initcall kcmp_cookies_init+0x0/0x88 returned 0 after 0 usecs
[    1.372546] calling  cryptomgr_init+0x0/0x54 @ 1
[    1.372560] initcall cryptomgr_init+0x0/0x54 returned 0 after 0 usecs
[    1.372573] calling  dma_channel_table_init+0x0/0x1d0 @ 1
[    1.379011] initcall dma_channel_table_init+0x0/0x1d0 returned 0 after 7812 usecs
[    1.379029] calling  dma_bus_init+0x0/0x80 @ 1
[    1.379304] initcall dma_bus_init+0x0/0x80 returned 0 after 0 usecs
[    1.379359] calling  topology_init+0x0/0x1ec @ 1
[    1.386552] random: fast init done
[    1.732661] initcall topology_init+0x0/0x1ec returned 0 after 343750 usecs
[    1.732687] calling  setup_fadump+0x0/0x100 @ 1
[    1.732700] initcall setup_fadump+0x0/0x100 returned 0 after 0 usecs
[    1.732713] calling  setup_iommu_pool_hash+0x0/0x130 @ 1
[    1.732749] initcall setup_iommu_pool_hash+0x0/0x130 returned 0 after 0 usecs
[    1.732763] calling  check_swiotlb_enabled+0x0/0x6c @ 1
[    1.732776] software IO TLB: tearing down default memory pool
[    1.733740] initcall check_swiotlb_enabled+0x0/0x6c returned 0 after 0 usecs
[    1.733755] calling  pcibios_init+0x0/0x120 @ 1
[    1.733767] PCI: Probing PCI hardware
[    1.734468] PCI host bridge to bus 0000:00
[    1.734601] pci_bus 0000:00: root bus resource [mem 0x3fe000000000-0x3fe07ffeffff] (bus address [0x80000000-0xfffeffff])
[    1.734924] pci_bus 0000:00: root bus resource [mem 0x200000000000-0x20fdffffffff 64bit pref]
[    1.735113] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.735147] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff
[    1.735265] pci 0000:00:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.735409] pci 0000:00:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.735451] pci 0000:00:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.735498] pci 0000:00:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.735547] pci 0000:00:00.0: [1014:03dc] type 01 class 0x060400
[    1.735734] pci 0000:00:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.735879] pci 0000:00:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.735925] pci 0000:00:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.735967] pci 0000:00:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.736176] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    1.752519] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    1.752783] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff
[    1.753699] PCI host bridge to bus 0001:00
[    1.753731] pci_bus 0001:00: root bus resource [mem 0x3fe080000000-0x3fe0fffeffff] (bus address [0x80000000-0xfffeffff])
[    1.753784] pci_bus 0001:00: root bus resource [mem 0x210000000000-0x21fdffffffff 64bit pref]
[    1.753832] pci_bus 0001:00: root bus resource [bus 00-ff]
[    1.754712] pci_bus 0001:00: busn_res: [bus 00-ff] end is updated to ff
[    1.754977] pci 0001:00:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.755130] pci 0001:00:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.755172] pci 0001:00:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.755613] pci 0001:00:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.755850] pci 0001:00:00.0: [1014:03dc] type 01 class 0x060400
[    1.756076] pci 0001:00:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.756249] pci 0001:00:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.756300] pci 0001:00:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.756343] pci 0001:00:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.756546] pci 0001:00:00.0: PME# supported from D0 D3hot D3cold
[    1.765171] pci 0001:01:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.765379] pci 0001:01:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.765420] pci 0001:01:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.765467] pci 0001:01:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.765515] pci 0001:01:00.0: [14e4:168a] type 00 class 0x020000
[    1.765621] pci 0001:01:00.0: reg 0x10: [mem 0x210000000000-0x2100007fffff 64bit pref]
[    1.765708] pci 0001:01:00.0: reg 0x18: [mem 0x210000800000-0x210000ffffff 64bit pref]
[    1.765793] pci 0001:01:00.0: reg 0x20: [mem 0x210004000000-0x21000400ffff 64bit pref]
[    1.765863] pci 0001:01:00.0: reg 0x30: [mem 0x00000000-0x0003ffff pref]
[    1.765971] pci 0001:01:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.766019] pci 0001:01:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.766065] pci 0001:01:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.766107] pci 0001:01:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.766476] pci 0001:01:00.0: PME# supported from D0 D3hot D3cold
[    1.767436] pci 0001:01:00.1: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.767479] pci 0001:01:00.1: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.767521] pci 0001:01:00.1: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.767567] pci 0001:01:00.1: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.767614] pci 0001:01:00.1: [14e4:168a] type 00 class 0x020000
[    1.767721] pci 0001:01:00.1: reg 0x10: [mem 0x210001000000-0x2100017fffff 64bit pref]
[    1.767810] pci 0001:01:00.1: reg 0x18: [mem 0x210001800000-0x210001ffffff 64bit pref]
[    1.768006] pci 0001:01:00.1: reg 0x20: [mem 0x210004010000-0x21000401ffff 64bit pref]
[    1.768076] pci 0001:01:00.1: reg 0x30: [mem 0x00000000-0x0003ffff pref]
[    1.768180] pci 0001:01:00.1: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.768227] pci 0001:01:00.1: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.768273] pci 0001:01:00.1: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.768316] pci 0001:01:00.1: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.768823] pci 0001:01:00.1: PME# supported from D0 D3hot D3cold
[    1.769642] pci 0001:01:00.2: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.769728] pci 0001:01:00.2: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.769771] pci 0001:01:00.2: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.769817] pci 0001:01:00.2: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.769864] pci 0001:01:00.2: [14e4:168a] type 00 class 0x020000
[    1.769973] pci 0001:01:00.2: reg 0x10: [mem 0x210002000000-0x2100027fffff 64bit pref]
[    1.770060] pci 0001:01:00.2: reg 0x18: [mem 0x210002800000-0x210002ffffff 64bit pref]
[    1.770149] pci 0001:01:00.2: reg 0x20: [mem 0x210004020000-0x21000402ffff 64bit pref]
[    1.770341] pci 0001:01:00.2: reg 0x30: [mem 0x00000000-0x0003ffff pref]
[    1.770446] pci 0001:01:00.2: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.770494] pci 0001:01:00.2: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.770540] pci 0001:01:00.2: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.770582] pci 0001:01:00.2: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.770950] pci 0001:01:00.2: PME# supported from D0 D3hot D3cold
[    1.771683] pci 0001:01:00.3: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.771726] pci 0001:01:00.3: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.771769] pci 0001:01:00.3: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.771814] pci 0001:01:00.3: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.771862] pci 0001:01:00.3: [14e4:168a] type 00 class 0x020000
[    1.771976] pci 0001:01:00.3: reg 0x10: [mem 0x210003000000-0x2100037fffff 64bit pref]
[    1.772167] pci 0001:01:00.3: reg 0x18: [mem 0x210003800000-0x210003ffffff 64bit pref]
[    1.772255] pci 0001:01:00.3: reg 0x20: [mem 0x210004030000-0x21000403ffff 64bit pref]
[    1.772327] pci 0001:01:00.3: reg 0x30: [mem 0x00000000-0x0003ffff pref]
[    1.772432] pci 0001:01:00.3: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.772480] pci 0001:01:00.3: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.772683] pci 0001:01:00.3: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.772726] pci 0001:01:00.3: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.773084] pci 0001:01:00.3: PME# supported from D0 D3hot D3cold
[    1.781828] pci 0001:00:00.0: PCI bridge to [bus 01]
[    1.781933] pci_bus 0001:00: busn_res: [bus 00-ff] end is updated to 01
[    1.782473] PCI host bridge to bus 0020:00
[    1.782504] pci_bus 0020:00: root bus resource [mem 0x3fe800000000-0x3fe87ffeffff] (bus address [0x80000000-0xfffeffff])
[    1.782557] pci_bus 0020:00: root bus resource [mem 0x240000000000-0x24fdffffffff 64bit pref]
[    1.782605] pci_bus 0020:00: root bus resource [bus 00-ff]
[    1.782637] pci_bus 0020:00: busn_res: [bus 00-ff] end is updated to ff
[    1.782740] pci 0020:00:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.782785] pci 0020:00:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.782826] pci 0020:00:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.782872] pci 0020:00:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.782920] pci 0020:00:00.0: [1014:03dc] type 01 class 0x060400
[    1.799618] pci 0020:00:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.799686] pci 0020:00:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.799731] pci 0020:00:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.799775] pci 0020:00:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.799974] pci 0020:00:00.0: PME# supported from D0 D3hot D3cold
[    1.816144] pci 0020:00:00.0: PCI bridge to [bus 01-ff]
[    1.816402] pci_bus 0020:00: busn_res: [bus 00-ff] end is updated to ff
[    1.817856] PCI host bridge to bus 0021:00
[    1.817887] pci_bus 0021:00: root bus resource [mem 0x3fe880000000-0x3fe8fffeffff] (bus address [0x80000000-0xfffeffff])
[    1.817941] pci_bus 0021:00: root bus resource [mem 0x250000000000-0x25fdffffffff 64bit pref]
[    1.817989] pci_bus 0021:00: root bus resource [bus 00-ff]
[    1.818022] pci_bus 0021:00: busn_res: [bus 00-ff] end is updated to ff
[    1.818125] pci 0021:00:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.818169] pci 0021:00:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.818211] pci 0021:00:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.818257] pci 0021:00:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.818305] pci 0021:00:00.0: [1014:03dc] type 01 class 0x060400
[    1.818506] pci 0021:00:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.818553] pci 0021:00:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.818598] pci 0021:00:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.818641] pci 0021:00:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.818842] pci 0021:00:00.0: PME# supported from D0 D3hot D3cold
[    1.827629] pci 0021:01:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.827673] pci 0021:01:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.827715] pci 0021:01:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.827762] pci 0021:01:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.827810] pci 0021:01:00.0: [10b5:8725] type 01 class 0x060400
[    1.827901] pci 0021:01:00.0: reg 0x10: [mem 0x3fe883800000-0x3fe88383ffff]
[    1.828137] pci 0021:01:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.828184] pci 0021:01:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.828236] pci 0021:01:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.828279] pci 0021:01:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.828666] pci 0021:01:00.0: PME# supported from D0 D3hot D3cold
[    1.829554] pci 0021:01:00.1: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.829597] pci 0021:01:00.1: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.829639] pci 0021:01:00.1: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.829684] pci 0021:01:00.1: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.829732] pci 0021:01:00.1: [10b5:87d0] type 00 class 0x088000
[    1.829820] pci 0021:01:00.1: reg 0x10: [mem 0x3fe883840000-0x3fe883841fff]
[    1.830166] pci 0021:01:00.1: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.830213] pci 0021:01:00.1: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.830259] pci 0021:01:00.1: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.830302] pci 0021:01:00.1: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.830357] pci 0021:01:00.1: BAR0 [mem size 0x00002000]: requesting alignment to 0x10000
[    1.831335] pci 0021:01:00.2: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.831379] pci 0021:01:00.2: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.831421] pci 0021:01:00.2: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.831468] pci 0021:01:00.2: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.831516] pci 0021:01:00.2: [10b5:87d0] type 00 class 0x088000
[    1.831603] pci 0021:01:00.2: reg 0x10: [mem 0x3fe883850000-0x3fe883851fff]
[    1.831929] pci 0021:01:00.2: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.831976] pci 0021:01:00.2: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.832023] pci 0021:01:00.2: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.832064] pci 0021:01:00.2: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.832119] pci 0021:01:00.2: BAR0 [mem size 0x00002000]: requesting alignment to 0x10000
[    1.833156] pci 0021:01:00.3: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.833199] pci 0021:01:00.3: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.833241] pci 0021:01:00.3: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.833288] pci 0021:01:00.3: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.833335] pci 0021:01:00.3: [10b5:87d0] type 00 class 0x088000
[    1.833421] pci 0021:01:00.3: reg 0x10: [mem 0x3fe883860000-0x3fe883861fff]
[    1.833650] pci 0021:01:00.3: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.833696] pci 0021:01:00.3: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.833742] pci 0021:01:00.3: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.833785] pci 0021:01:00.3: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.833840] pci 0021:01:00.3: BAR0 [mem size 0x00002000]: requesting alignment to 0x10000
[    1.834646] pci 0021:01:00.4: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    1.834689] pci 0021:01:00.4: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    1.834731] pci 0021:01:00.4: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    1.834778] pci 0021:01:00.4: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    1.834826] pci 0021:01:00.4: [10b5:87d0] type 00 class 0x088000
[    1.834912] pci 0021:01:00.4: reg 0x10: [mem 0x3fe883870000-0x3fe883871fff]
[    1.835144] pci 0021:01:00.4: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    1.835191] pci 0021:01:00.4: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    1.835237] pci 0021:01:00.4: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    1.835279] pci 0021:01:00.4: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    1.835335] pci 0021:01:00.4: BAR0 [mem size 0x00002000]: requesting alignment to 0x10000
[    1.844078] pci 0021:00:00.0: PCI bridge to [bus 01-15]
[    2.174896] pci 0021:02:01.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.174942] pci 0021:02:01.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.174984] pci 0021:02:01.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.175031] pci 0021:02:01.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.175078] pci 0021:02:01.0: [10b5:8725] type 01 class 0x060400
[    2.175384] pci 0021:02:01.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.175430] pci 0021:02:01.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.175476] pci 0021:02:01.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.175519] pci 0021:02:01.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.176008] pci 0021:02:01.0: PME# supported from D0 D3hot D3cold
[    2.178487] pci 0021:02:08.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.178532] pci 0021:02:08.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.178573] pci 0021:02:08.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.178620] pci 0021:02:08.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.178667] pci 0021:02:08.0: [10b5:8725] type 01 class 0x060400
[    2.178970] pci 0021:02:08.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.179016] pci 0021:02:08.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.179062] pci 0021:02:08.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.179105] pci 0021:02:08.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.179517] pci 0021:02:08.0: PME# supported from D0 D3hot D3cold
[    2.180564] pci 0021:02:09.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.180608] pci 0021:02:09.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.180649] pci 0021:02:09.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.180695] pci 0021:02:09.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.180743] pci 0021:02:09.0: [10b5:8725] type 01 class 0x060400
[    2.181044] pci 0021:02:09.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.181091] pci 0021:02:09.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.181136] pci 0021:02:09.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.181178] pci 0021:02:09.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.181594] pci 0021:02:09.0: PME# supported from D0 D3hot D3cold
[    2.182636] pci 0021:02:0a.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.182679] pci 0021:02:0a.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.182721] pci 0021:02:0a.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.182768] pci 0021:02:0a.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.182817] pci 0021:02:0a.0: [10b5:8725] type 01 class 0x060400
[    2.183121] pci 0021:02:0a.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.183168] pci 0021:02:0a.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.183213] pci 0021:02:0a.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.183256] pci 0021:02:0a.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.183676] pci 0021:02:0a.0: PME# supported from D0 D3hot D3cold
[    2.184721] pci 0021:02:0b.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.184765] pci 0021:02:0b.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.184807] pci 0021:02:0b.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.184853] pci 0021:02:0b.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.184901] pci 0021:02:0b.0: [10b5:8725] type 01 class 0x060400
[    2.185216] pci 0021:02:0b.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.185263] pci 0021:02:0b.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.185308] pci 0021:02:0b.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.185351] pci 0021:02:0b.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.185772] pci 0021:02:0b.0: PME# supported from D0 D3hot D3cold
[    2.186835] pci 0021:02:0c.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.186879] pci 0021:02:0c.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.196328] pci 0021:02:0c.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.196408] pci 0021:02:0c.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.196457] pci 0021:02:0c.0: [10b5:8725] type 01 class 0x060400
[    2.196771] pci 0021:02:0c.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.196819] pci 0021:02:0c.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.196864] pci 0021:02:0c.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.196907] pci 0021:02:0c.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.197369] pci 0021:02:0c.0: PME# supported from D0 D3hot D3cold
[    2.202955] pci 0021:01:00.0: PCI bridge to [bus 02-15]
[    2.211050] pci 0021:02:01.0: PCI bridge to [bus 03-07]
[    2.219257] pci 0021:02:08.0: PCI bridge to [bus 08-0c]
[    2.219783] pci 0021:0d:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.220010] pci 0021:0d:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.220068] pci 0021:0d:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.220115] pci 0021:0d:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.220163] pci 0021:0d:00.0: [104c:8241] type 00 class 0x0c0330
[    2.220289] pci 0021:0d:00.0: reg 0x10: [mem 0x3fe880800000-0x3fe88080ffff 64bit]
[    2.220388] pci 0021:0d:00.0: reg 0x18: [mem 0x3fe880810000-0x3fe880811fff 64bit]
[    2.220597] pci 0021:0d:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.220697] pci 0021:0d:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.220743] pci 0021:0d:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.220786] pci 0021:0d:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.220844] pci 0021:0d:00.0: BAR2 [mem size 0x00002000 64bit]: requesting alignment to 0x10000
[    2.221132] pci 0021:0d:00.0: supports D1 D2
[    2.221268] pci 0021:0d:00.0: PME# supported from D0 D1 D2 D3hot
[    2.229950] pci 0021:02:09.0: PCI bridge to [bus 0d]
[    2.230578] pci 0021:0e:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.230780] pci 0021:0e:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.230980] pci 0021:0e:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.231214] pci 0021:0e:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.231403] pci 0021:0e:00.0: [1b4b:9235] type 00 class 0x010601
[    2.231510] pci 0021:0e:00.0: reg 0x10: [io  0x8000-0x8007]
[    2.231580] pci 0021:0e:00.0: reg 0x14: [io  0x8040-0x8043]
[    2.231650] pci 0021:0e:00.0: reg 0x18: [io  0x8100-0x8107]
[    2.231719] pci 0021:0e:00.0: reg 0x1c: [io  0x8140-0x8143]
[    2.232552] pci 0021:0e:00.0: reg 0x20: [io  0x800000-0x80001f]
[    2.232769] pci 0021:0e:00.0: reg 0x24: [mem 0x3fe881000000-0x3fe8810007ff]
[    2.233013] pci 0021:0e:00.0: reg 0x30: [mem 0x3fe8d0000000-0x3fe8d000ffff pref]
[    2.233165] pci 0021:0e:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.233376] pci 0021:0e:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.233422] pci 0021:0e:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.233464] pci 0021:0e:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.233522] pci 0021:0e:00.0: BAR5 [mem size 0x00000800]: requesting alignment to 0x10000
[    2.233787] pci 0021:0e:00.0: PME# supported from D3hot
[    2.242326] pci 0021:02:0a.0: PCI bridge to [bus 0e]
[    2.242816] pci 0021:0f:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.242859] pci 0021:0f:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.242900] pci 0021:0f:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.242947] pci 0021:0f:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.242994] pci 0021:0f:00.0: [1a03:1150] type 01 class 0x060400
[    2.243307] pci 0021:0f:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.243353] pci 0021:0f:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.243400] pci 0021:0f:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.243442] pci 0021:0f:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.243929] pci 0021:0f:00.0: supports D1 D2
[    2.243960] pci 0021:0f:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    2.244596] pci 0021:0f:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
[    2.252418] pci 0021:02:0b.0: PCI bridge to [bus 0f-10]
[    2.252824] pci_bus 0021:10: extended config space not accessible
[    2.253148] pci 0021:10:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.253216] pci 0021:10:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.253258] pci 0021:10:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.253305] pci 0021:10:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.253352] pci 0021:10:00.0: [1a03:2000] type 00 class 0x030000
[    2.253466] pci 0021:10:00.0: reg 0x10: [mem 0x3fe882000000-0x3fe882ffffff]
[    2.253544] pci 0021:10:00.0: reg 0x14: [mem 0x3fe881800000-0x3fe88181ffff]
[    2.253622] pci 0021:10:00.0: reg 0x18: [io  0x0000-0x007f]
[    2.253974] pci 0021:10:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.254022] pci 0021:10:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.254069] pci 0021:10:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.254111] pci 0021:10:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.254339] pci 0021:10:00.0: supports D1 D2
[    2.254476] pci 0021:10:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    2.262785] pci 0021:0f:00.0: PCI bridge to [bus 10]
[    2.270954] pci 0021:02:0c.0: PCI bridge to [bus 11-15]
[    2.271211] pci_bus 0021:00: busn_res: [bus 00-ff] end is updated to 15
[    2.271771] PCI host bridge to bus 0022:00
[    2.271803] pci_bus 0022:00: root bus resource [mem 0x3fe900000000-0x3fe97ffeffff] (bus address [0x80000000-0xfffeffff])
[    2.271856] pci_bus 0022:00: root bus resource [mem 0x260000000000-0x26fdffffffff 64bit pref]
[    2.271904] pci_bus 0022:00: root bus resource [bus 00-ff]
[    2.271936] pci_bus 0022:00: busn_res: [bus 00-ff] end is updated to ff
[    2.272039] pci 0022:00:00.0: calling  pci_dev_pdn_setup+0x0/0x130 @ 1
[    2.272083] pci 0022:00:00.0: pci_dev_pdn_setup+0x0/0x130 took 0 usecs
[    2.272125] pci 0022:00:00.0: calling  pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 @ 1
[    2.272171] pci 0022:00:00.0: pnv_npu2_opencapi_cfg_size_fixup+0x0/0xa0 took 0 usecs
[    2.272219] pci 0022:00:00.0: [1014:03dc] type 01 class 0x060400
[    2.272401] pci 0022:00:00.0: calling  pcibios_fixup_resources+0x0/0x220 @ 1
[    2.272448] pci 0022:00:00.0: pcibios_fixup_resources+0x0/0x220 took 0 usecs
[    2.272493] pci 0022:00:00.0: calling  pnv_pci_fixup_vf_mps+0x0/0xc0 @ 1
[    2.272536] pci 0022:00:00.0: pnv_pci_fixup_vf_mps+0x0/0xc0 took 0 usecs
[    2.272741] pci 0022:00:00.0: PME# supported from D0 D3hot D3cold
[    2.288921] pci 0022:00:00.0: PCI bridge to [bus 01-ff]
[    2.289029] pci_bus 0022:00: busn_res: [bus 00-ff] end is updated to ff
[    2.289092] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    2.289158] pci_bus 0000:00: resource 4 [mem 0x3fe000000000-0x3fe07ffeffff]
[    2.289195] pci_bus 0000:00: resource 5 [mem 0x200000000000-0x20fdffffffff 64bit pref]
[    2.289260] pci 0001:00:00.0: BAR 15: assigned [mem 0x210000000000-0x2100ffffffff 64bit pref]
[    2.289307] pci 0001:00:00.0: BAR 14: assigned [mem 0x3fe080000000-0x3fe0807fffff]
[    2.289414] pci 0001:01:00.0: BAR 0: assigned [mem 0x210000000000-0x2100007fffff 64bit pref]
[    2.289490] pci 0001:01:00.0: BAR 2: assigned [mem 0x210000800000-0x210000ffffff 64bit pref]
[    2.289565] pci 0001:01:00.1: BAR 0: assigned [mem 0x210001000000-0x2100017fffff 64bit pref]
[    2.289641] pci 0001:01:00.1: BAR 2: assigned [mem 0x210001800000-0x210001ffffff 64bit pref]
[    2.289716] pci 0001:01:00.2: BAR 0: assigned [mem 0x210002000000-0x2100027fffff 64bit pref]
[    2.289791] pci 0001:01:00.2: BAR 2: assigned [mem 0x210002800000-0x210002ffffff 64bit pref]
[    2.289866] pci 0001:01:00.3: BAR 0: assigned [mem 0x210003000000-0x2100037fffff 64bit pref]
[    2.289941] pci 0001:01:00.3: BAR 2: assigned [mem 0x210003800000-0x210003ffffff 64bit pref]
[    2.290016] pci 0001:01:00.0: BAR 6: assigned [mem 0x3fe080000000-0x3fe08003ffff pref]
[    2.290058] pci 0001:01:00.1: BAR 6: assigned [mem 0x3fe080040000-0x3fe08007ffff pref]
[    2.290101] pci 0001:01:00.2: BAR 6: assigned [mem 0x3fe080080000-0x3fe0800bffff pref]
[    2.290143] pci 0001:01:00.3: BAR 6: assigned [mem 0x3fe0800c0000-0x3fe0800fffff pref]
[    2.290186] pci 0001:01:00.0: BAR 4: assigned [mem 0x210004000000-0x21000400ffff 64bit pref]
[    2.290261] pci 0001:01:00.1: BAR 4: assigned [mem 0x210004010000-0x21000401ffff 64bit pref]
[    2.290337] pci 0001:01:00.2: BAR 4: assigned [mem 0x210004020000-0x21000402ffff 64bit pref]
[    2.290411] pci 0001:01:00.3: BAR 4: assigned [mem 0x210004030000-0x21000403ffff 64bit pref]
[    2.290508] pci 0001:00:00.0: PCI bridge to [bus 01]
[    2.290563] pci 0001:00:00.0:   bridge window [mem 0x3fe080000000-0x3fe0ffefffff]
[    2.290611] pci 0001:00:00.0:   bridge window [mem 0x210000000000-0x21fdfff0ffff 64bit pref]
[    2.290670] pci_bus 0001:00: resource 4 [mem 0x3fe080000000-0x3fe0fffeffff]
[    2.290708] pci_bus 0001:00: resource 5 [mem 0x210000000000-0x21fdffffffff 64bit pref]
[    2.290749] pci_bus 0001:01: resource 1 [mem 0x3fe080000000-0x3fe0ffefffff]
[    2.290786] pci_bus 0001:01: resource 2 [mem 0x210000000000-0x21fdfff0ffff 64bit pref]
[    2.608332] pci 0020:00:00.0: PCI bridge to [bus 01-ff]
[    2.608398] pci_bus 0020:00: resource 4 [mem 0x3fe800000000-0x3fe87ffeffff]
[    2.608436] pci_bus 0020:00: resource 5 [mem 0x240000000000-0x24fdffffffff 64bit pref]
[    2.608484] pci 0021:02:01.0: bridge window [io  0x1000-0x0fff] to [bus 03-07] add_size 1000
[    2.608535] pci 0021:02:01.0: bridge window [mem 0x100000000-0xffffffff 64bit pref] to [bus 03-07] add_size 100000000 add_align 100000000
[    2.608596] pci 0021:02:01.0: bridge window [mem 0x00800000-0x007fffff] to [bus 03-07] add_size 800000 add_align 800000
[    2.608669] pci 0021:01:00.0: bridge window [io  0x1000-0x2fff] to [bus 02-15] add_size 1000
[    2.608722] pci 0021:01:00.0: bridge window [mem 0x100000000-0x1ffffffff 64bit pref] to [bus 02-15] add_size 100000000 add_align 100000000
[    2.608787] pci 0021:01:00.0: bridge window [mem 0x00800000-0x037fffff] to [bus 02-15] add_size 800000 add_align 800000
[    2.608844] pci 0021:00:00.0: bridge window [io  0x1000-0x2fff] to [bus 01-15] add_size 1000
[    2.608896] pci 0021:00:00.0: bridge window [mem 0x100000000-0x1ffffffff 64bit pref] to [bus 01-15] add_size 100000000 add_align 100000000
[    2.608960] pci 0021:00:00.0: bridge window [mem 0x00800000-0x03ffffff] to [bus 01-15] add_size 800000 add_align 800000
[    2.609035] pci 0021:00:00.0: BAR 15: assigned [mem 0x250000000000-0x2501ffffffff 64bit pref]
[    2.609081] pci 0021:00:00.0: BAR 14: assigned [mem 0x3fe880000000-0x3fe883ffffff]
[    2.609123] pci 0021:00:00.0: BAR 13: no space for [io  size 0x3000]
[    2.609158] pci 0021:00:00.0: BAR 13: failed to assign [io  size 0x3000]
[    2.609209] pci 0021:00:00.0: BAR 13: no space for [io  size 0x2000]
[    2.609245] pci 0021:00:00.0: BAR 13: failed to assign [io  size 0x2000]
[    2.609345] pci 0021:01:00.0: BAR 15: assigned [mem 0x250000000000-0x2501ffffffff 64bit pref]
[    2.609391] pci 0021:01:00.0: BAR 14: assigned [mem 0x3fe880000000-0x3fe8837fffff]
[    2.609432] pci 0021:01:00.0: BAR 0: assigned [mem 0x3fe883800000-0x3fe88383ffff]
[    2.609484] pci 0021:01:00.1: BAR 0: assigned [mem 0x3fe883840000-0x3fe883841fff]
[    2.609535] pci 0021:01:00.2: BAR 0: assigned [mem 0x3fe883850000-0x3fe883851fff]
[    2.609586] pci 0021:01:00.3: BAR 0: assigned [mem 0x3fe883860000-0x3fe883861fff]
[    2.609638] pci 0021:01:00.4: BAR 0: assigned [mem 0x3fe883870000-0x3fe883871fff]
[    2.609689] pci 0021:01:00.0: BAR 13: no space for [io  size 0x3000]
[    2.609724] pci 0021:01:00.0: BAR 13: failed to assign [io  size 0x3000]
[    2.609788] pci 0021:01:00.0: BAR 13: no space for [io  size 0x2000]
[    2.609824] pci 0021:01:00.0: BAR 13: failed to assign [io  size 0x2000]
[    2.609927] pci 0021:02:01.0: BAR 15: assigned [mem 0x250000000000-0x2500ffffffff 64bit pref]
[    2.609973] pci 0021:02:01.0: BAR 14: assigned [mem 0x3fe880000000-0x3fe8807fffff]
[    2.610015] pci 0021:02:09.0: BAR 14: assigned [mem 0x3fe880800000-0x3fe880ffffff]
[    2.610057] pci 0021:02:0a.0: BAR 14: assigned [mem 0x3fe881000000-0x3fe8817fffff]
[    2.610100] pci 0021:02:0b.0: BAR 14: assigned [mem 0x3fe881800000-0x3fe882ffffff]
[    2.610141] pci 0021:02:01.0: BAR 13: no space for [io  size 0x1000]
[    2.610176] pci 0021:02:01.0: BAR 13: failed to assign [io  size 0x1000]
[    2.610216] pci 0021:02:0a.0: BAR 13: no space for [io  size 0x1000]
[    2.610252] pci 0021:02:0a.0: BAR 13: failed to assign [io  size 0x1000]
[    2.610292] pci 0021:02:0b.0: BAR 13: no space for [io  size 0x1000]
[    2.610328] pci 0021:02:0b.0: BAR 13: failed to assign [io  size 0x1000]
[    2.610392] pci 0021:02:0a.0: BAR 13: no space for [io  size 0x1000]
[    2.610427] pci 0021:02:0a.0: BAR 13: failed to assign [io  size 0x1000]
[    2.610467] pci 0021:02:0b.0: BAR 13: no space for [io  size 0x1000]
[    2.610503] pci 0021:02:0b.0: BAR 13: failed to assign [io  size 0x1000]
[    2.610543] pci 0021:02:01.0: BAR 13: no space for [io  size 0x1000]
[    2.610578] pci 0021:02:01.0: BAR 13: failed to assign [io  size 0x1000]
[    2.620252] pci 0021:02:01.0: PCI bridge to [bus 03-07]
[    2.620301] pci 0021:02:01.0:   bridge window [mem 0x3fe880000000-0x3fe8807fffff]
[    2.620350] pci 0021:02:01.0:   bridge window [mem 0x250000000000-0x2500ffffffff 64bit pref]
[    2.620411] pci 0021:02:08.0: PCI bridge to [bus 08-0c]
[    2.620489] pci 0021:0d:00.0: BAR 0: assigned [mem 0x3fe880800000-0x3fe88080ffff 64bit]
[    2.620568] pci 0021:0d:00.0: BAR 2: assigned [mem 0x3fe880810000-0x3fe880811fff 64bit]
[    2.620649] pci 0021:02:09.0: PCI bridge to [bus 0d]
[    2.620693] pci 0021:02:09.0:   bridge window [mem 0x3fe880800000-0x3fe880ffffff]
[    2.620785] pci 0021:0e:00.0: BAR 5: assigned [mem 0x3fe881000000-0x3fe8810007ff]
[    2.620838] pci 0021:0e:00.0: BAR 6: assigned [mem 0x3fe881010000-0x3fe88101ffff pref]
[    2.620881] pci 0021:0e:00.0: BAR 4: no space for [io  size 0x0020]
[    2.620916] pci 0021:0e:00.0: BAR 4: failed to assign [io  size 0x0020]
[    2.620956] pci 0021:0e:00.0: BAR 0: no space for [io  size 0x0008]
[    2.620991] pci 0021:0e:00.0: BAR 0: failed to assign [io  size 0x0008]
[    2.621030] pci 0021:0e:00.0: BAR 2: no space for [io  size 0x0008]
[    2.621065] pci 0021:0e:00.0: BAR 2: failed to assign [io  size 0x0008]
[    2.621105] pci 0021:0e:00.0: BAR 1: no space for [io  size 0x0004]
[    2.621140] pci 0021:0e:00.0: BAR 1: failed to assign [io  size 0x0004]
[    2.621180] pci 0021:0e:00.0: BAR 3: no space for [io  size 0x0004]
[    2.621215] pci 0021:0e:00.0: BAR 3: failed to assign [io  size 0x0004]
[    2.621263] pci 0021:02:0a.0: PCI bridge to [bus 0e]
[    2.621307] pci 0021:02:0a.0:   bridge window [mem 0x3fe881000000-0x3fe8817fffff]
[    2.621381] pci 0021:0f:00.0: BAR 14: assigned [mem 0x3fe881800000-0x3fe882ffffff]
[    2.621422] pci 0021:0f:00.0: BAR 13: no space for [io  size 0x1000]
[    2.621458] pci 0021:0f:00.0: BAR 13: failed to assign [io  size 0x1000]
[    2.621512] pci 0021:10:00.0: BAR 0: assigned [mem 0x3fe882000000-0x3fe882ffffff]
[    2.621567] pci 0021:10:00.0: BAR 1: assigned [mem 0x3fe881800000-0x3fe88181ffff]
[    2.621621] pci 0021:10:00.0: BAR 2: no space for [io  size 0x0080]
[    2.621656] pci 0021:10:00.0: BAR 2: failed to assign [io  size 0x0080]
[    2.621700] pci 0021:0f:00.0: PCI bridge to [bus 10]
[    2.621745] pci 0021:0f:00.0:   bridge window [mem 0x3fe881800000-0x3fe882ffffff]
[    2.621815] pci 0021:02:0b.0: PCI bridge to [bus 0f-10]
[    2.621859] pci 0021:02:0b.0:   bridge window [mem 0x3fe881800000-0x3fe882ffffff]
[    2.621925] pci 0021:02:0c.0: PCI bridge to [bus 11-15]
[    2.621996] pci 0021:01:00.0: PCI bridge to [bus 02-15]
[    2.622039] pci 0021:01:00.0:   bridge window [mem 0x3fe880000000-0x3fe8ffefffff]
[    2.622086] pci 0021:01:00.0:   bridge window [mem 0x250000000000-0x25fdfff0ffff 64bit pref]
[    2.622148] pci 0021:00:00.0: PCI bridge to [bus 01-15]
[    2.622346] pci 0021:00:00.0:   bridge window [mem 0x3fe880000000-0x3fe8ffefffff]
[    2.622395] pci 0021:00:00.0:   bridge window [mem 0x250000000000-0x25fdfff0ffff 64bit pref]
[    2.622453] pci_bus 0021:00: Some PCI device resources are unassigned, try booting with pci=realloc
[    2.622508] pci_bus 0021:00: resource 4 [mem 0x3fe880000000-0x3fe8fffeffff]
[    2.622546] pci_bus 0021:00: resource 5 [mem 0x250000000000-0x25fdffffffff 64bit pref]
[    2.622586] pci_bus 0021:01: resource 1 [mem 0x3fe880000000-0x3fe8ffefffff]
[    2.622624] pci_bus 0021:01: resource 2 [mem 0x250000000000-0x25fdfff0ffff 64bit pref]
[    2.622665] pci_bus 0021:02: resource 1 [mem 0x3fe880000000-0x3fe8ffefffff]
[    2.622701] pci_bus 0021:02: resource 2 [mem 0x250000000000-0x25fdfff0ffff 64bit pref]
[    2.622742] pci_bus 0021:03: resource 1 [mem 0x3fe880000000-0x3fe8807fffff]
[    2.622936] pci_bus 0021:03: resource 2 [mem 0x250000000000-0x2500ffffffff 64bit pref]
[    2.622977] pci_bus 0021:0d: resource 1 [mem 0x3fe880800000-0x3fe880ffffff]
[    2.623014] pci_bus 0021:0e: resource 1 [mem 0x3fe881000000-0x3fe8817fffff]
[    2.623051] pci_bus 0021:0f: resource 1 [mem 0x3fe881800000-0x3fe882ffffff]
[    2.623088] pci_bus 0021:10: resource 1 [mem 0x3fe881800000-0x3fe882ffffff]
[    2.623130] pci 0022:00:00.0: PCI bridge to [bus 01-ff]
[    2.632114] pci_bus 0022:00: resource 4 [mem 0x3fe900000000-0x3fe97ffeffff]
[    2.632212] pci_bus 0022:00: resource 5 [mem 0x260000000000-0x26fdffffffff 64bit pref]
[    2.632255] pci_bus 0000:00: Configuring PE for bus
[    2.632285] pci 0000:00     : [PE# fe] Secondary bus 0x0000000000000000 associated with PE#fe
[    2.632805] pci 0000:00:00.0: Configured PE#fe
[    2.632968] pci_bus 0001:00: Configuring PE for bus
[    2.632998] pci 0001:00     : [PE# fe] Secondary bus 0x0000000000000000 associated with PE#fe
[    2.633514] pci 0001:00:00.0: Configured PE#fe
[    2.633654] pci_bus 0001:01: Configuring PE for bus
[    2.633723] pci 0001:01     : [PE# 00] Secondary bus 0x0000000000000001 associated with PE#0
[    2.634246] pci 0001:01:00.0: Configured PE#0
[    2.634276] pci 0001:01     : [PE# 00] Setting up 32-bit TCE table at 0..80000000
[    2.636385] IOMMU table initialized, virtual merging enabled
[    2.636418] pci 0001:01     : [PE# 00] Setting up window#0 0..ffffffffff pg=10000
[    2.636472] pci 0001:01     : [PE# 00] Enabling 64-bit DMA bypass
[    2.636599] pci 0001:01:00.0: Adding to iommu group 0
[    2.637680] pci 0001:01:00.1: Added to existing PE#0
[    2.637736] pci 0001:01:00.1: Adding to iommu group 0
[    2.638714] pci 0001:01:00.2: Added to existing PE#0
[    2.638770] pci 0001:01:00.2: Adding to iommu group 0
[    2.638963] pci 0001:01:00.3: Added to existing PE#0
[    2.639018] pci 0001:01:00.3: Adding to iommu group 0
[    2.639945] pci_bus 0020:00: Configuring PE for bus
[    2.639975] pci 0020:00     : [PE# fe] Secondary bus 0x0000000000000000 associated with PE#fe
[    2.640507] pci 0020:00:00.0: Configured PE#fe
[    2.640653] pci_bus 0021:00: Configuring PE for bus
[    2.640683] pci 0021:00     : [PE# fe] Secondary bus 0x0000000000000000 associated with PE#fe
[    2.641206] pci 0021:00:00.0: Configured PE#fe
[    2.641347] pci_bus 0021:01: Configuring PE for bus
[    2.641387] pci 0021:01     : [PE# fd] Secondary bus 0x0000000000000001 associated with PE#fd
[    2.642062] pci 0021:01:00.0: Configured PE#fd
[    2.643021] pci 0021:01:00.1: Added to existing PE#fd
[    2.643053] pci 0021:01     : [PE# fd] Setting up 32-bit TCE table at 0..80000000
[    2.645293] pci 0021:01     : [PE# fd] Setting up window#0 0..ffffffffff pg=10000
[    2.645346] pci 0021:01     : [PE# fd] Enabling 64-bit DMA bypass
[    2.645468] pci 0021:01:00.1: Adding to iommu group 1
[    2.646281] pci 0021:01:00.2: Added to existing PE#fd
[    2.646493] pci 0021:01:00.2: Adding to iommu group 1
[    2.646681] pci 0021:01:00.3: Added to existing PE#fd
[    2.646737] pci 0021:01:00.3: Adding to iommu group 1
[    2.646900] pci 0021:01:00.4: Added to existing PE#fd
[    2.647071] pci 0021:01:00.4: Adding to iommu group 1
[    2.647235] pci_bus 0021:02: Configuring PE for bus
[    2.647275] pci 0021:02     : [PE# fc] Secondary bus 0x0000000000000002 associated with PE#fc
[    2.647794] pci 0021:02:01.0: Configured PE#fc
[    2.647991] pci 0021:02:08.0: Added to existing PE#fc
[    2.648213] pci 0021:02:09.0: Added to existing PE#fc
[    2.648445] pci 0021:02:0a.0: Added to existing PE#fc
[    2.649324] pci 0021:02:0b.0: Added to existing PE#fc
[    2.650277] pci 0021:02:0c.0: Added to existing PE#fc
[    2.650534] pci_bus 0021:0d: Configuring PE for bus
[    2.650573] pci 0021:0d     : [PE# fb] Secondary bus 0x000000000000000d associated with PE#fb
[    2.651093] pci 0021:0d:00.0: Configured PE#fb
[    2.651123] pci 0021:0d     : [PE# fb] Setting up 32-bit TCE table at 0..80000000
[    2.653053] pci 0021:0d     : [PE# fb] Setting up window#0 0..ffffffffff pg=10000
[    2.653103] pci 0021:0d     : [PE# fb] Enabling 64-bit DMA bypass
[    2.653288] pci 0021:0d:00.0: Adding to iommu group 2
[    2.653523] pci_bus 0021:0e: Configuring PE for bus
[    2.653562] pci 0021:0e     : [PE# fa] Secondary bus 0x000000000000000e associated with PE#fa
[    2.654083] pci 0021:0e:00.0: Configured PE#fa
[    2.654114] pci 0021:0e     : [PE# fa] Setting up 32-bit TCE table at 0..80000000
[    2.656051] pci 0021:0e     : [PE# fa] Setting up window#0 0..ffffffffff pg=10000
[    2.656101] pci 0021:0e     : [PE# fa] Enabling 64-bit DMA bypass
[    2.656251] pci 0021:0e:00.0: Adding to iommu group 3
[    2.656489] pci_bus 0021:0f: Configuring PE for bus
[    2.656534] pci 0021:0f     : [PE# f9] Secondary bus 0x000000000000000f associated with PE#f9
[    2.657053] pci 0021:0f:00.0: Configured PE#f9
[    2.657319] pci_bus 0021:10: Configuring PE for bus
[    2.657358] pci 0021:10     : [PE# f8] Secondary bus 0x0000000000000010..0x0000000000000010 associated with PE#f8
[    2.657884] pci 0021:10:00.0: Configured PE#f8
[    2.657914] pci 0021:10     : [PE# f8] Setting up 32-bit TCE table at 0..80000000
[    2.659843] pci 0021:10     : [PE# f8] Setting up window#0 0..ffffffffff pg=10000
[    2.659893] pci 0021:10     : [PE# f8] Enabling 64-bit DMA bypass
[    2.660016] pci 0021:10:00.0: Adding to iommu group 4
[    2.677203] pci_bus 0022:00: Configuring PE for bus
[    2.677353] pci 0022:00     : [PE# fe] Secondary bus 0x0000000000000000 associated with PE#fe
[    2.677916] pci 0022:00:00.0: Configured PE#fe
[    2.678398] pci 0001:00:00.0: enabling device (0141 -> 0143)
[    2.678464] pci 0021:00:00.0: enabling device (0141 -> 0143)
[    2.678530] pci 0021:01:00.0: enabling device (0141 -> 0143)
[    2.678601] pci 0021:02:09.0: enabling device (0141 -> 0143)
[    2.678675] pci 0021:02:0a.0: enabling device (0141 -> 0143)
[    2.678897] pci 0021:02:0b.0: enabling device (0141 -> 0143)
[    2.678974] pci 0021:0f:00.0: enabling device (0141 -> 0143)
[    2.679032] EEH: Capable adapter found: recovery enabled.
[    2.680188] PCI: Probing PCI hardware done
[    2.680195] initcall pcibios_init+0x0/0x120 returned 0 after 878906 usecs
[    2.680213] calling  add_system_ram_resources+0x0/0x198 @ 1
[    2.680236] initcall add_system_ram_resources+0x0/0x198 returned 0 after 0 usecs
[    2.680251] calling  fsl_lbc_init+0x0/0x68 @ 1
[    2.680324] initcall fsl_lbc_init+0x0/0x68 returned 0 after 0 usecs
[    2.680340] calling  __machine_initcall_powernv_opal_init+0x0/0x78 @ 1
[    2.690634] initcall __machine_initcall_powernv_opal_init+0x0/0x78 returned 0 after 11718 usecs
[    2.690653] calling  __machine_initcall_powernv_pnv_init_idle_states+0x0/0x78 @ 1
[    2.691040] initcall __machine_initcall_powernv_pnv_init_idle_states+0x0/0x78 returned 0 after 0 usecs
[    2.691045] calling  __machine_initcall_powernv_opal_time_init+0x0/0x78 @ 1
[    2.691095] initcall __machine_initcall_powernv_opal_time_init+0x0/0x78 returned 0 after 0 usecs
[    2.691100] calling  __machine_initcall_powernv_rng_init+0x0/0x6c @ 1
[    2.691153] powernv-rng: Registering arch random hook.
[    2.691525] initcall __machine_initcall_powernv_rng_init+0x0/0x6c returned 0 after 0 usecs
[    2.691532] calling  __machine_initcall_powernv_uv_init+0x0/0x78 @ 1
[    2.691539] initcall __machine_initcall_powernv_uv_init+0x0/0x78 returned 0 after 0 usecs
[    2.691545] calling  __machine_initcall_pseries_init_ras_IRQ+0x0/0x6c @ 1
[    2.691550] initcall __machine_initcall_pseries_init_ras_IRQ+0x0/0x6c returned 0 after 0 usecs
[    2.691555] calling  __machine_initcall_pseries_rng_init+0x0/0x78 @ 1
[    2.691560] initcall __machine_initcall_pseries_rng_init+0x0/0x78 returned 0 after 0 usecs
[    2.691565] calling  __machine_initcall_pseries_ioei_init+0x0/0x78 @ 1
[    2.691570] initcall __machine_initcall_pseries_ioei_init+0x0/0x78 returned 0 after 0 usecs
[    2.691576] calling  uid_cache_init+0x0/0x184 @ 1
[    2.691748] initcall uid_cache_init+0x0/0x184 returned 0 after 0 usecs
[    2.691753] calling  param_sysfs_init+0x0/0xb0 @ 1
[    2.698095] initcall param_sysfs_init+0x0/0xb0 returned 0 after 7812 usecs
[    2.698102] calling  user_namespace_sysctl_init+0x0/0xdc @ 1
[    2.698134] initcall user_namespace_sysctl_init+0x0/0xdc returned 0 after 0 usecs
[    2.698140] calling  proc_schedstat_init+0x0/0x70 @ 1
[    2.698148] initcall proc_schedstat_init+0x0/0x70 returned 0 after 0 usecs
[    2.698154] calling  pm_sysrq_init+0x0/0x5c @ 1
[    2.698292] initcall pm_sysrq_init+0x0/0x5c returned 0 after 0 usecs
[    2.698299] calling  create_proc_profile+0x0/0x140 @ 1
[    2.698306] initcall create_proc_profile+0x0/0x140 returned 0 after 0 usecs
[    2.698311] calling  crash_save_vmcoreinfo_init+0x0/0x6cc @ 1
[    2.698405] initcall crash_save_vmcoreinfo_init+0x0/0x6cc returned 0 after 0 usecs
[    2.698411] calling  crash_notes_memory_init+0x0/0x84 @ 1
[    2.698650] initcall crash_notes_memory_init+0x0/0x84 returned 0 after 0 usecs
[    2.698656] calling  cgroup_sysfs_init+0x0/0x60 @ 1
[    2.698670] initcall cgroup_sysfs_init+0x0/0x60 returned 0 after 0 usecs
[    2.698675] calling  cgroup_namespaces_init+0x0/0x48 @ 1
[    2.698680] initcall cgroup_namespaces_init+0x0/0x48 returned 0 after 0 usecs
[    2.698684] calling  user_namespaces_init+0x0/0x74 @ 1
[    2.699006] initcall user_namespaces_init+0x0/0x74 returned 0 after 0 usecs
[    2.699012] calling  init_optprobes+0x0/0x4c @ 1
[    2.699019] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    2.699224] initcall init_optprobes+0x0/0x4c returned 0 after 0 usecs
[    2.699231] calling  hung_task_init+0x0/0xdc @ 1
[    2.699279] initcall hung_task_init+0x0/0xdc returned 0 after 0 usecs
[    2.699283] calling  send_signal_irq_work_init+0x0/0x11c @ 1
[    2.699311] initcall send_signal_irq_work_init+0x0/0x11c returned 0 after 0 usecs
[    2.699316] calling  dev_map_init+0x0/0x120 @ 1
[    2.699332] initcall dev_map_init+0x0/0x120 returned 0 after 0 usecs
[    2.699336] calling  cpu_map_init+0x0/0x110 @ 1
[    2.699344] initcall cpu_map_init+0x0/0x110 returned 0 after 0 usecs
[    2.699348] calling  netns_bpf_init+0x0/0x54 @ 1
[    2.699352] initcall netns_bpf_init+0x0/0x54 returned 0 after 0 usecs
[    2.699356] calling  oom_init+0x0/0x94 @ 1
[    2.699391] initcall oom_init+0x0/0x94 returned 0 after 0 usecs
[    2.699396] calling  default_bdi_init+0x0/0x8c @ 1
[    2.700443] initcall default_bdi_init+0x0/0x8c returned 0 after 0 usecs
[    2.700451] calling  cgwb_init+0x0/0x80 @ 1
[    2.700687] initcall cgwb_init+0x0/0x80 returned 0 after 0 usecs
[    2.700693] calling  percpu_enable_async+0x0/0x54 @ 1
[    2.700699] initcall percpu_enable_async+0x0/0x54 returned 0 after 0 usecs
[    2.700705] calling  kcompactd_init+0x0/0x108 @ 1
[    2.700799] initcall kcompactd_init+0x0/0x108 returned 0 after 0 usecs
[    2.700804] calling  init_user_reserve+0x0/0x80 @ 1
[    2.700810] initcall init_user_reserve+0x0/0x80 returned 0 after 0 usecs
[    2.700816] calling  init_admin_reserve+0x0/0x80 @ 1
[    2.700820] initcall init_admin_reserve+0x0/0x80 returned 0 after 0 usecs
[    2.700826] calling  init_reserve_notifier+0x0/0x6c @ 1
[    2.700832] initcall init_reserve_notifier+0x0/0x6c returned 0 after 0 usecs
[    2.700837] calling  swap_init_sysfs+0x0/0xe0 @ 1
[    2.700848] initcall swap_init_sysfs+0x0/0xe0 returned 0 after 0 usecs
[    2.700854] calling  swapfile_init+0x0/0x10c @ 1
[    2.700860] initcall swapfile_init+0x0/0x10c returned 0 after 0 usecs
[    2.700865] calling  hugetlb_init+0x0/0x54c @ 1
[    2.700876] HugeTLB registered 16.0 MiB page size, pre-allocated 0 pages
[    2.701026] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
[    2.701276] initcall hugetlb_init+0x0/0x54c returned 0 after 3906 usecs
[    2.701280] calling  ksm_init+0x0/0x190 @ 1
[    2.701356] initcall ksm_init+0x0/0x190 returned 0 after 0 usecs
[    2.701360] calling  numa_init_sysfs+0x0/0xe0 @ 1
[    2.701367] initcall numa_init_sysfs+0x0/0xe0 returned 0 after 0 usecs
[    2.701371] calling  hugepage_init+0x0/0x1bc @ 1
[    2.701734] initcall hugepage_init+0x0/0x1bc returned 0 after 0 usecs
[    2.701762] calling  mem_cgroup_init+0x0/0x300 @ 1
[    2.701912] initcall mem_cgroup_init+0x0/0x300 returned 0 after 0 usecs
[    2.701917] calling  page_idle_init+0x0/0x8c @ 1
[    2.701926] initcall page_idle_init+0x0/0x8c returned 0 after 0 usecs
[    2.701931] calling  io_wq_init+0x0/0x88 @ 1
[    2.701936] initcall io_wq_init+0x0/0x88 returned 0 after 0 usecs
[    2.701940] calling  seqiv_module_init+0x0/0x54 @ 1
[    2.701945] initcall seqiv_module_init+0x0/0x54 returned 0 after 0 usecs
[    2.701949] calling  dh_init+0x0/0x60 @ 1
[    2.701958] initcall dh_init+0x0/0x60 returned 0 after 0 usecs
[    2.701962] calling  rsa_init+0x0/0xb0 @ 1
[    2.701975] initcall rsa_init+0x0/0xb0 returned 0 after 0 usecs
[    2.701984] calling  hmac_module_init+0x0/0x54 @ 1
[    2.701989] initcall hmac_module_init+0x0/0x54 returned 0 after 0 usecs
[    2.701993] calling  crypto_null_mod_init+0x0/0xe0 @ 1
[    2.702003] initcall crypto_null_mod_init+0x0/0xe0 returned 0 after 0 usecs
[    2.702008] calling  md5_mod_init+0x0/0x54 @ 1
[    2.702016] initcall md5_mod_init+0x0/0x54 returned 0 after 0 usecs
[    2.702024] calling  sha1_generic_mod_init+0x0/0x54 @ 1
[    2.702029] initcall sha1_generic_mod_init+0x0/0x54 returned 0 after 0 usecs
[    2.702034] calling  sha256_generic_mod_init+0x0/0x58 @ 1
[    2.702041] initcall sha256_generic_mod_init+0x0/0x58 returned 0 after 0 usecs
[    2.702046] calling  sha512_generic_mod_init+0x0/0x58 @ 1
[    2.702052] initcall sha512_generic_mod_init+0x0/0x58 returned 0 after 0 usecs
[    2.702056] calling  blake2b_mod_init+0x0/0x58 @ 1
[    2.702064] initcall blake2b_mod_init+0x0/0x58 returned 0 after 0 usecs
[    2.702067] calling  crypto_ecb_module_init+0x0/0x54 @ 1
[    2.702070] initcall crypto_ecb_module_init+0x0/0x54 returned 0 after 0 usecs
[    2.702074] calling  crypto_cbc_module_init+0x0/0x54 @ 1
[    2.702077] initcall crypto_cbc_module_init+0x0/0x54 returned 0 after 0 usecs
[    2.702080] calling  crypto_cts_module_init+0x0/0x54 @ 1
[    2.702083] initcall crypto_cts_module_init+0x0/0x54 returned 0 after 0 usecs
[    2.702087] calling  xts_module_init+0x0/0x54 @ 1
[    2.702090] initcall xts_module_init+0x0/0x54 returned 0 after 0 usecs
[    2.702093] calling  crypto_ctr_module_init+0x0/0x58 @ 1
[    2.702097] initcall crypto_ctr_module_init+0x0/0x58 returned 0 after 0 usecs
[    2.702100] calling  crypto_gcm_module_init+0x0/0xd4 @ 1
[    2.702105] initcall crypto_gcm_module_init+0x0/0xd4 returned 0 after 0 usecs
[    2.702108] calling  aes_init+0x0/0x54 @ 1
[    2.702113] initcall aes_init+0x0/0x54 returned 0 after 0 usecs
[    2.702116] calling  deflate_mod_init+0x0/0xac @ 1
[    2.702123] initcall deflate_mod_init+0x0/0xac returned 0 after 0 usecs
[    2.702126] calling  crc32c_mod_init+0x0/0x54 @ 1
[    2.702131] initcall crc32c_mod_init+0x0/0x54 returned 0 after 0 usecs
[    2.702134] calling  crct10dif_mod_init+0x0/0x54 @ 1
[    2.702139] initcall crct10dif_mod_init+0x0/0x54 returned 0 after 0 usecs
[    2.702142] calling  lzo_mod_init+0x0/0xa8 @ 1
[    2.702148] initcall lzo_mod_init+0x0/0xa8 returned 0 after 0 usecs
[    2.702151] calling  lzorle_mod_init+0x0/0xa8 @ 1
[    2.702157] initcall lzorle_mod_init+0x0/0xa8 returned 0 after 0 usecs
[    2.702161] calling  xxhash_mod_init+0x0/0x54 @ 1
[    2.702169] initcall xxhash_mod_init+0x0/0x54 returned 0 after 0 usecs
[    2.702172] calling  drbg_init+0x0/0xe8 @ 1
[    2.702213] initcall drbg_init+0x0/0xe8 returned 0 after 0 usecs
[    2.702217] calling  ghash_mod_init+0x0/0x54 @ 1
[    2.702222] initcall ghash_mod_init+0x0/0x54 returned 0 after 0 usecs
[    2.702225] calling  init_bio+0x0/0x134 @ 1
[    2.703150] initcall init_bio+0x0/0x134 returned 0 after 0 usecs
[    2.703155] calling  blk_ioc_init+0x0/0x74 @ 1
[    2.703160] initcall blk_ioc_init+0x0/0x74 returned 0 after 0 usecs
[    2.703163] calling  blk_mq_init+0x0/0x1a4 @ 1
[    2.703179] initcall blk_mq_init+0x0/0x1a4 returned 0 after 0 usecs
[    2.703183] calling  genhd_device_init+0x0/0xbc @ 1
[    2.703757] initcall genhd_device_init+0x0/0xbc returned 0 after 0 usecs
[    2.703762] calling  blkcg_init+0x0/0x80 @ 1
[    2.703868] initcall blkcg_init+0x0/0x80 returned 0 after 0 usecs
[    2.703872] calling  raid6_select_algo+0x0/0x3e0 @ 1
[    2.703898] raid6: skipped pq benchmark and selected vpermxor8
[    2.703921] raid6: using intx1 recovery algorithm
[    2.704178] initcall raid6_select_algo+0x0/0x3e0 returned 0 after 0 usecs
[    2.704182] calling  irq_poll_setup+0x0/0x138 @ 1
[    2.704197] initcall irq_poll_setup+0x0/0x138 returned 0 after 0 usecs
[    2.704201] calling  sx150x_init+0x0/0x58 @ 1
[    2.704218] initcall sx150x_init+0x0/0x58 returned 0 after 0 usecs
[    2.704222] calling  gpiolib_debugfs_init+0x0/0x6c @ 1
[    2.704231] initcall gpiolib_debugfs_init+0x0/0x6c returned 0 after 0 usecs
[    2.704235] calling  xgpio_init+0x0/0x58 @ 1
[    2.704270] initcall xgpio_init+0x0/0x58 returned 0 after 0 usecs
[    2.704274] calling  pwm_debugfs_init+0x0/0x6c @ 1
[    2.704282] initcall pwm_debugfs_init+0x0/0x6c returned 0 after 0 usecs
[    2.704287] calling  pwm_sysfs_init+0x0/0x5c @ 1
[    2.704296] initcall pwm_sysfs_init+0x0/0x5c returned 0 after 0 usecs
[    2.704301] calling  pci_slot_init+0x0/0xa0 @ 1
[    2.704308] initcall pci_slot_init+0x0/0xa0 returned 0 after 0 usecs
[    2.704311] calling  misc_init+0x0/0x148 @ 1
[    2.704328] initcall misc_init+0x0/0x148 returned 0 after 0 usecs
[    2.704331] calling  tpm_init+0x0/0x198 @ 1
[    2.704574] initcall tpm_init+0x0/0x198 returned 0 after 0 usecs
[    2.704578] calling  iommu_subsys_init+0x0/0x194 @ 1
[    2.704581] iommu: Default domain type: Translated 
[    2.704689] iommu: DMA domain TLB invalidation policy: strict mode 
[    2.704822] initcall iommu_subsys_init+0x0/0x194 returned 0 after 0 usecs
[    2.704826] calling  cn_init+0x0/0x140 @ 1
[    2.704847] initcall cn_init+0x0/0x140 returned 0 after 0 usecs
[    2.704850] calling  pm860x_i2c_init+0x0/0x88 @ 1
[    2.704865] initcall pm860x_i2c_init+0x0/0x88 returned 0 after 0 usecs
[    2.704869] calling  stmpe_init+0x0/0x58 @ 1
[    2.704882] initcall stmpe_init+0x0/0x58 returned 0 after 0 usecs
[    2.704886] calling  stmpe_init+0x0/0x58 @ 1
[    2.704900] initcall stmpe_init+0x0/0x58 returned 0 after 0 usecs
[    2.704904] calling  tc3589x_init+0x0/0x58 @ 1
[    2.704917] initcall tc3589x_init+0x0/0x58 returned 0 after 0 usecs
[    2.704920] calling  wm8400_driver_init+0x0/0x88 @ 1
[    2.704934] initcall wm8400_driver_init+0x0/0x88 returned 0 after 0 usecs
[    2.704938] calling  wm831x_i2c_init+0x0/0x88 @ 1
[    2.704949] initcall wm831x_i2c_init+0x0/0x88 returned 0 after 0 usecs
[    2.704952] calling  wm831x_spi_init+0x0/0x80 @ 1
[    2.704963] initcall wm831x_spi_init+0x0/0x80 returned 0 after 0 usecs
[    2.704967] calling  wm8350_i2c_init+0x0/0x58 @ 1
[    2.704978] initcall wm8350_i2c_init+0x0/0x58 returned 0 after 0 usecs
[    2.704981] calling  tps65910_i2c_init+0x0/0x58 @ 1
[    2.704994] initcall tps65910_i2c_init+0x0/0x58 returned 0 after 0 usecs
[    2.704998] calling  ezx_pcap_init+0x0/0x58 @ 1
[    2.705011] initcall ezx_pcap_init+0x0/0x58 returned 0 after 0 usecs
[    2.705018] calling  da903x_init+0x0/0x58 @ 1
[    2.705035] initcall da903x_init+0x0/0x58 returned 0 after 3906 usecs
[    2.705040] calling  da9052_spi_init+0x0/0x88 @ 1
[    2.705056] initcall da9052_spi_init+0x0/0x88 returned 0 after 0 usecs
[    2.705060] calling  da9052_i2c_init+0x0/0x88 @ 1
[    2.705073] initcall da9052_i2c_init+0x0/0x88 returned 0 after 0 usecs
[    2.705077] calling  lp8788_init+0x0/0x58 @ 1
[    2.705090] initcall lp8788_init+0x0/0x58 returned 0 after 0 usecs
[    2.705093] calling  da9055_i2c_init+0x0/0x88 @ 1
[    2.705107] initcall da9055_i2c_init+0x0/0x88 returned 0 after 0 usecs
[    2.705110] calling  max77843_i2c_init+0x0/0x58 @ 1
[    2.705121] initcall max77843_i2c_init+0x0/0x58 returned 0 after 0 usecs
[    2.705125] calling  max8925_i2c_init+0x0/0x88 @ 1
[    2.705142] initcall max8925_i2c_init+0x0/0x88 returned 0 after 0 usecs
[    2.705146] calling  max8997_i2c_init+0x0/0x58 @ 1
[    2.705157] initcall max8997_i2c_init+0x0/0x58 returned 0 after 0 usecs
[    2.705161] calling  max8998_i2c_init+0x0/0x58 @ 1
[    2.705172] initcall max8998_i2c_init+0x0/0x58 returned 0 after 0 usecs
[    2.705176] calling  tps6586x_init+0x0/0x58 @ 1
[    2.705195] initcall tps6586x_init+0x0/0x58 returned 0 after 0 usecs
[    2.705199] calling  tps65090_init+0x0/0x58 @ 1
[    2.705210] initcall tps65090_init+0x0/0x58 returned 0 after 0 usecs
[    2.705213] calling  aat2870_init+0x0/0x58 @ 1
[    2.705224] initcall aat2870_init+0x0/0x58 returned 0 after 0 usecs
[    2.705228] calling  palmas_i2c_init+0x0/0x58 @ 1
[    2.705241] initcall palmas_i2c_init+0x0/0x58 returned 0 after 0 usecs
[    2.705245] calling  rc5t583_i2c_init+0x0/0x58 @ 1
[    2.705257] initcall rc5t583_i2c_init+0x0/0x58 returned 0 after 0 usecs
[    2.705261] calling  as3711_i2c_init+0x0/0x58 @ 1
[    2.705274] initcall as3711_i2c_init+0x0/0x58 returned 0 after 0 usecs
[    2.705278] calling  libnvdimm_init+0x0/0xb4 @ 1
[    2.705363] initcall libnvdimm_init+0x0/0xb4 returned 0 after 0 usecs
[    2.705366] calling  dax_core_init+0x0/0x150 @ 1
[    2.706183] initcall dax_core_init+0x0/0x150 returned 0 after 0 usecs
[    2.706187] calling  dma_buf_init+0x0/0xb0 @ 1
[    2.706797] initcall dma_buf_init+0x0/0xb0 returned 0 after 0 usecs
[    2.706801] calling  init_scsi+0x0/0xf0 @ 1
[    2.706966] SCSI subsystem initialized
[    2.707045] initcall init_scsi+0x0/0xf0 returned 0 after 0 usecs
[    2.707049] calling  ata_init+0x0/0x8c @ 1
[    2.707072] libata version 3.00 loaded.
[    2.707074] initcall ata_init+0x0/0x8c returned 0 after 0 usecs
[    2.707077] calling  phy_init+0x0/0x17c @ 1
[    2.707122] initcall phy_init+0x0/0x17c returned 0 after 0 usecs
[    2.707125] calling  usb_common_init+0x0/0x6c @ 1
[    2.707136] initcall usb_common_init+0x0/0x6c returned 0 after 0 usecs
[    2.707140] calling  usb_init+0x0/0x224 @ 1
[    2.707186] usbcore: registered new interface driver usbfs
[    2.707301] usbcore: registered new interface driver hub
[    2.707548] usbcore: registered new device driver usb
[    2.707583] initcall usb_init+0x0/0x224 returned 0 after 0 usecs
[    2.707588] calling  usb_roles_init+0x0/0x88 @ 1
[    2.707599] initcall usb_roles_init+0x0/0x88 returned 0 after 0 usecs
[    2.707603] calling  serio_init+0x0/0x84 @ 1
[    2.707629] initcall serio_init+0x0/0x84 returned 0 after 0 usecs
[    2.707633] calling  input_init+0x0/0x104 @ 1
[    2.707648] initcall input_init+0x0/0x104 returned 0 after 0 usecs
[    2.707653] calling  rtc_init+0x0/0xb0 @ 1
[    2.707664] initcall rtc_init+0x0/0xb0 returned 0 after 0 usecs
[    2.707668] calling  dw_i2c_init_driver+0x0/0x58 @ 1
[    2.707694] initcall dw_i2c_init_driver+0x0/0x58 returned 0 after 0 usecs
[    2.707699] calling  pps_init+0x0/0x128 @ 1
[    2.707710] pps_core: LinuxPPS API ver. 1 registered
[    2.707722] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    2.707740] initcall pps_init+0x0/0x128 returned 0 after 0 usecs
[    2.707744] calling  ptp_init+0x0/0x110 @ 1
[    2.707755] PTP clock support registered
[    2.707765] initcall ptp_init+0x0/0x110 returned 0 after 0 usecs
[    2.707769] calling  power_supply_class_init+0x0/0x98 @ 1
[    2.707783] initcall power_supply_class_init+0x0/0x98 returned 0 after 0 usecs
[    2.707787] calling  hwmon_init+0x0/0x88 @ 1
[    2.707796] initcall hwmon_init+0x0/0x88 returned 0 after 0 usecs
[    2.707801] calling  md_init+0x0/0x1c8 @ 1
[    2.708397] initcall md_init+0x0/0x1c8 returned 0 after 0 usecs
[    2.708402] calling  edac_init+0x0/0x10c @ 1
[    2.708406] EDAC MC: Ver: 3.0.0
[    2.708614] initcall edac_init+0x0/0x10c returned 0 after 0 usecs
[    2.708619] calling  mmc_init+0x0/0xa4 @ 1
[    2.708671] initcall mmc_init+0x0/0xa4 returned 0 after 0 usecs
[    2.708676] calling  leds_init+0x0/0x94 @ 1
[    2.708690] initcall leds_init+0x0/0x94 returned 0 after 0 usecs
[    2.708696] calling  devfreq_init+0x0/0x15c @ 1
[    2.708790] initcall devfreq_init+0x0/0x15c returned 0 after 0 usecs
[    2.708797] calling  devfreq_event_init+0x0/0xb0 @ 1
[    2.708812] initcall devfreq_event_init+0x0/0xb0 returned 0 after 0 usecs
[    2.708818] calling  devfreq_simple_ondemand_init+0x0/0x54 @ 1
[    2.708824] initcall devfreq_simple_ondemand_init+0x0/0x54 returned 0 after 0 usecs
[    2.708830] calling  devfreq_performance_init+0x0/0x54 @ 1
[    2.708836] initcall devfreq_performance_init+0x0/0x54 returned 0 after 0 usecs
[    2.708842] calling  devfreq_powersave_init+0x0/0x54 @ 1
[    2.708847] initcall devfreq_powersave_init+0x0/0x54 returned 0 after 0 usecs
[    2.708850] calling  devfreq_userspace_init+0x0/0x54 @ 1
[    2.708854] initcall devfreq_userspace_init+0x0/0x54 returned 0 after 0 usecs
[    2.708857] calling  devfreq_passive_init+0x0/0x54 @ 1
[    2.708860] initcall devfreq_passive_init+0x0/0x54 returned 0 after 0 usecs
[    2.708863] calling  vme_init+0x0/0x54 @ 1
[    2.708882] initcall vme_init+0x0/0x54 returned 0 after 0 usecs
[    2.708885] calling  ras_init+0x0/0x54 @ 1
[    2.708896] initcall ras_init+0x0/0x54 returned 0 after 0 usecs
[    2.708899] calling  nvmem_init+0x0/0x54 @ 1
[    2.708917] initcall nvmem_init+0x0/0x54 returned 0 after 0 usecs
[    2.708920] calling  proto_init+0x0/0x54 @ 1
[    2.708925] initcall proto_init+0x0/0x54 returned 0 after 0 usecs
[    2.708929] calling  net_dev_init+0x0/0x3c8 @ 1
[    2.709600] initcall net_dev_init+0x0/0x3c8 returned 0 after 3906 usecs
[    2.709604] calling  neigh_init+0x0/0xec @ 1
[    2.709612] initcall neigh_init+0x0/0xec returned 0 after 0 usecs
[    2.709616] calling  fib_notifier_init+0x0/0x54 @ 1
[    2.709620] initcall fib_notifier_init+0x0/0x54 returned 0 after 0 usecs
[    2.709624] calling  fib_rules_init+0x0/0x138 @ 1
[    2.709630] initcall fib_rules_init+0x0/0x138 returned 0 after 0 usecs
[    2.709634] calling  init_cgroup_netprio+0x0/0x58 @ 1
[    2.709638] initcall init_cgroup_netprio+0x0/0x58 returned 0 after 0 usecs
[    2.709641] calling  bpf_lwt_init+0x0/0x58 @ 1
[    2.709644] initcall bpf_lwt_init+0x0/0x58 returned 0 after 0 usecs
[    2.709648] calling  pktsched_init+0x0/0x194 @ 1
[    2.709658] initcall pktsched_init+0x0/0x194 returned 0 after 0 usecs
[    2.709662] calling  tc_filter_init+0x0/0x180 @ 1
[    2.709678] initcall tc_filter_init+0x0/0x180 returned 0 after 0 usecs
[    2.709682] calling  tc_action_init+0x0/0xb0 @ 1
[    2.709688] initcall tc_action_init+0x0/0xb0 returned 0 after 0 usecs
[    2.709691] calling  ethnl_init+0x0/0xbc @ 1
[    2.709714] initcall ethnl_init+0x0/0xbc returned 0 after 0 usecs
[    2.709718] calling  nexthop_init+0x0/0x178 @ 1
[    2.709730] initcall nexthop_init+0x0/0x178 returned 0 after 0 usecs
[    2.709734] calling  rfkill_init+0x0/0x1d8 @ 1
[    2.709827] initcall rfkill_init+0x0/0x1d8 returned 0 after 0 usecs
[    2.709832] calling  ncsi_init_netlink+0x0/0x6df8 @ 1
[    2.709847] initcall ncsi_init_netlink+0x0/0x6df8 returned 0 after 0 usecs
[    2.709855] calling  __machine_initcall_powernv_pnv_tce_iommu_bus_notifier_init+0x0/0x7c @ 1
[    2.709863] initcall __machine_initcall_powernv_pnv_tce_iommu_bus_notifier_init+0x0/0x7c returned 0 after 0 usecs
[    2.709870] calling  __machine_initcall_pseries_tce_iommu_bus_notifier_init+0x0/0x7c @ 1
[    2.709875] initcall __machine_initcall_pseries_tce_iommu_bus_notifier_init+0x0/0x7c returned 0 after 0 usecs
[    2.709881] calling  watchdog_init+0x0/0x64 @ 1
[    2.709961] initcall watchdog_init+0x0/0x64 returned 0 after 0 usecs
[    2.709990] calling  __machine_initcall_pseries_vio_init+0x0/0x48 @ 1
[    2.709994] initcall __machine_initcall_pseries_vio_init+0x0/0x48 returned 0 after 0 usecs
[    2.709997] calling  iomem_init_inode+0x0/0x10c @ 1
[    2.710642] initcall iomem_init_inode+0x0/0x10c returned 0 after 0 usecs
[    2.710646] calling  clocksource_done_booting+0x0/0x94 @ 1
[    2.710949] random: crng init done
[    2.711550] clocksource: Switched to clocksource timebase
[    2.711696] initcall clocksource_done_booting+0x0/0x94 returned 0 after 351 usecs
[    2.711702] calling  tracer_init_tracefs+0x0/0x29c @ 1
[    2.746498] initcall tracer_init_tracefs+0x0/0x29c returned 0 after 33976 usecs
[    2.746506] calling  init_trace_printk_function_export+0x0/0x68 @ 1
[    2.746513] initcall init_trace_printk_function_export+0x0/0x68 returned 0 after 2 usecs
[    2.746517] calling  init_graph_tracefs+0x0/0x68 @ 1
[    2.746523] initcall init_graph_tracefs+0x0/0x68 returned 0 after 2 usecs
[    2.746527] calling  trace_events_synth_init+0x0/0x98 @ 1
[    2.746534] initcall trace_events_synth_init+0x0/0x98 returned 0 after 2 usecs
[    2.746538] calling  bpf_event_init+0x0/0x44 @ 1
[    2.746542] initcall bpf_event_init+0x0/0x44 returned 0 after 0 usecs
[    2.746545] calling  init_kprobe_trace+0x0/0xc4 @ 1
[    2.746556] initcall init_kprobe_trace+0x0/0xc4 returned 0 after 6 usecs
[    2.746560] calling  init_dynamic_event+0x0/0x84 @ 1
[    2.746566] initcall init_dynamic_event+0x0/0x84 returned 0 after 2 usecs
[    2.746570] calling  init_uprobe_trace+0x0/0xb0 @ 1
[    2.746579] initcall init_uprobe_trace+0x0/0xb0 returned 0 after 5 usecs
[    2.746583] calling  bpf_init+0x0/0xc0 @ 1
[    2.746591] initcall bpf_init+0x0/0xc0 returned 0 after 4 usecs
[    2.746595] calling  init_fs_stat_sysctls+0x0/0x68 @ 1
[    2.746603] initcall init_fs_stat_sysctls+0x0/0x68 returned 0 after 4 usecs
[    2.746607] calling  init_fs_exec_sysctls+0x0/0x68 @ 1
[    2.746612] initcall init_fs_exec_sysctls+0x0/0x68 returned 0 after 1 usecs
[    2.746616] calling  init_pipe_fs+0x0/0xd8 @ 1
[    2.747325] initcall init_pipe_fs+0x0/0xd8 returned 0 after 688 usecs
[    2.747329] calling  init_fs_namei_sysctls+0x0/0x68 @ 1
[    2.747340] initcall init_fs_namei_sysctls+0x0/0x68 returned 0 after 6 usecs
[    2.747344] calling  init_fs_dcache_sysctls+0x0/0x68 @ 1
[    2.747350] initcall init_fs_dcache_sysctls+0x0/0x68 returned 0 after 2 usecs
[    2.747354] calling  init_fs_namespace_sysctls+0x0/0x68 @ 1
[    2.747359] initcall init_fs_namespace_sysctls+0x0/0x68 returned 0 after 1 usecs
[    2.747364] calling  cgroup_writeback_init+0x0/0x80 @ 1
[    2.747561] initcall cgroup_writeback_init+0x0/0x80 returned 0 after 189 usecs
[    2.747566] calling  inotify_user_setup+0x0/0x11c @ 1
[    2.747579] initcall inotify_user_setup+0x0/0x11c returned 0 after 9 usecs
[    2.747584] calling  eventpoll_init+0x0/0x148 @ 1
[    2.747808] initcall eventpoll_init+0x0/0x148 returned 0 after 215 usecs
[    2.747813] calling  anon_inode_init+0x0/0xb8 @ 1
[    2.748435] initcall anon_inode_init+0x0/0xb8 returned 0 after 603 usecs
[    2.748440] calling  init_dax_wait_table+0x0/0xa8 @ 1
[    2.748479] initcall init_dax_wait_table+0x0/0xa8 returned 0 after 34 usecs
[    2.748483] calling  proc_locks_init+0x0/0x70 @ 1
[    2.748495] initcall proc_locks_init+0x0/0x70 returned 0 after 7 usecs
[    2.748499] calling  init_fs_coredump_sysctls+0x0/0x68 @ 1
[    2.748507] initcall init_fs_coredump_sysctls+0x0/0x68 returned 0 after 4 usecs
[    2.748511] calling  iomap_init+0x0/0x60 @ 1
[    2.749343] initcall iomap_init+0x0/0x60 returned 0 after 808 usecs
[    2.749348] calling  dquot_init+0x0/0x1b0 @ 1
[    2.749352] VFS: Disk quotas dquot_6.6.0
[    2.750589] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
[    2.750615] initcall dquot_init+0x0/0x1b0 returned 0 after 1233 usecs
[    2.750620] calling  quota_init+0x0/0x74 @ 1
[    2.750645] initcall quota_init+0x0/0x74 returned 0 after 20 usecs
[    2.750649] calling  proc_cmdline_init+0x0/0x6c @ 1
[    2.750655] initcall proc_cmdline_init+0x0/0x6c returned 0 after 2 usecs
[    2.750660] calling  proc_consoles_init+0x0/0x70 @ 1
[    2.750665] initcall proc_consoles_init+0x0/0x70 returned 0 after 1 usecs
[    2.750669] calling  proc_cpuinfo_init+0x0/0x68 @ 1
[    2.750674] initcall proc_cpuinfo_init+0x0/0x68 returned 0 after 1 usecs
[    2.750679] calling  proc_devices_init+0x0/0x70 @ 1
[    2.750684] initcall proc_devices_init+0x0/0x70 returned 0 after 1 usecs
[    2.750688] calling  proc_interrupts_init+0x0/0x70 @ 1
[    2.750693] initcall proc_interrupts_init+0x0/0x70 returned 0 after 1 usecs
[    2.750697] calling  proc_loadavg_init+0x0/0x6c @ 1
[    2.750702] initcall proc_loadavg_init+0x0/0x6c returned 0 after 1 usecs
[    2.750706] calling  proc_meminfo_init+0x0/0x6c @ 1
[    2.750711] initcall proc_meminfo_init+0x0/0x6c returned 0 after 1 usecs
[    2.750716] calling  proc_stat_init+0x0/0x68 @ 1
[    2.750721] initcall proc_stat_init+0x0/0x68 returned 0 after 1 usecs
[    2.750725] calling  proc_uptime_init+0x0/0x6c @ 1
[    2.750730] initcall proc_uptime_init+0x0/0x6c returned 0 after 1 usecs
[    2.750734] calling  proc_version_init+0x0/0x6c @ 1
[    2.750739] initcall proc_version_init+0x0/0x6c returned 0 after 1 usecs
[    2.750743] calling  proc_softirqs_init+0x0/0x6c @ 1
[    2.750748] initcall proc_softirqs_init+0x0/0x6c returned 0 after 1 usecs
[    2.750753] calling  proc_kcore_init+0x0/0xf0 @ 1
[    2.750763] initcall proc_kcore_init+0x0/0xf0 returned 0 after 7 usecs
[    2.750766] calling  vmcore_init+0x0/0x10c @ 1
[    2.750768] initcall vmcore_init+0x0/0x10c returned 0 after 0 usecs
[    2.750771] calling  proc_kmsg_init+0x0/0x68 @ 1
[    2.750775] initcall proc_kmsg_init+0x0/0x68 returned 0 after 1 usecs
[    2.750778] calling  proc_page_init+0x0/0xa8 @ 1
[    2.750784] initcall proc_page_init+0x0/0xa8 returned 0 after 3 usecs
[    2.750787] calling  init_ramfs_fs+0x0/0x54 @ 1
[    2.750791] initcall init_ramfs_fs+0x0/0x54 returned 0 after 0 usecs
[    2.750794] calling  init_hugetlbfs_fs+0x0/0x294 @ 1
[    2.752133] initcall init_hugetlbfs_fs+0x0/0x294 returned 0 after 1304 usecs
[    2.752137] calling  dynamic_debug_init_control+0x0/0xd8 @ 1
[    2.752150] initcall dynamic_debug_init_control+0x0/0xd8 returned 0 after 9 usecs
[    2.752154] calling  chr_dev_init+0x0/0x1d0 @ 1
[    2.755958] initcall chr_dev_init+0x0/0x1d0 returned 0 after 3711 usecs
[    2.755962] calling  firmware_class_init+0x0/0xd0 @ 1
[    2.755980] initcall firmware_class_init+0x0/0xd0 returned 0 after 14 usecs
[    2.755984] calling  powercap_init+0x0/0x3a4 @ 1
[    2.756071] initcall powercap_init+0x0/0x3a4 returned 0 after 81 usecs
[    2.756074] calling  sysctl_core_init+0x0/0x74 @ 1
[    2.756094] initcall sysctl_core_init+0x0/0x74 returned 0 after 16 usecs
[    2.756098] calling  eth_offload_init+0x0/0x58 @ 1
[    2.756101] initcall eth_offload_init+0x0/0x58 returned 0 after 0 usecs
[    2.756105] calling  ipv4_offload_init+0x0/0xe8 @ 1
[    2.756109] initcall ipv4_offload_init+0x0/0xe8 returned 0 after 1 usecs
[    2.756113] calling  inet_init+0x0/0x350 @ 1
[    2.756934] NET: Registered PF_INET protocol family
[    2.757380] IP idents hash table entries: 262144 (order: 5, 2097152 bytes, vmalloc)
[    2.763845] tcp_listen_portaddr_hash hash table entries: 65536 (order: 4, 1048576 bytes, vmalloc)
[    2.764178] TCP established hash table entries: 524288 (order: 6, 4194304 bytes, vmalloc)
[    2.765095] TCP bind hash table entries: 65536 (order: 4, 1048576 bytes, vmalloc)
[    2.765268] TCP: Hash tables configured (established 524288 bind 65536)
[    2.766038] UDP hash table entries: 65536 (order: 5, 2097152 bytes, vmalloc)
[    2.766282] UDP-Lite hash table entries: 65536 (order: 5, 2097152 bytes, vmalloc)
[    2.767426] initcall inet_init+0x0/0x350 returned 0 after 11045 usecs
[    2.767433] calling  af_unix_init+0x0/0xf4 @ 1
[    2.767442] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    2.767469] initcall af_unix_init+0x0/0xf4 returned 0 after 31 usecs
[    2.767474] calling  ipv6_offload_init+0x0/0xec @ 1
[    2.767478] initcall ipv6_offload_init+0x0/0xec returned 0 after 1 usecs
[    2.767482] calling  pci_apply_final_quirks+0x0/0x1f0 @ 1
[    2.767544] pci 0021:0d:00.0: calling  quirk_usb_early_handoff+0x0/0xcb0 @ 1
[    2.767574] pci 0021:0d:00.0: enabling device (0140 -> 0142)
[    2.799626] pci 0021:0d:00.0: xHCI HW did not halt within 32000 usec status = 0x0
[    2.799775] pci 0021:0d:00.0: quirk_usb_early_handoff+0x0/0xcb0 took 31453 usecs
[    2.799821] PCI: CLS 0 bytes, default 128
[    2.799831] initcall pci_apply_final_quirks+0x0/0x1f0 returned 0 after 31586 usecs
[    2.799836] calling  populate_rootfs+0x0/0xb8 @ 1
[    2.799844] initcall populate_rootfs+0x0/0xb8 returned 0 after 4 usecs
[    2.799858] calling  register_powersave_nap_sysctl+0x0/0x58 @ 1
[    2.799876] initcall register_powersave_nap_sysctl+0x0/0x58 returned 0 after 14 usecs
[    2.799880] calling  rtc_init+0x0/0xc8 @ 1
[    2.799884] initcall rtc_init+0x0/0xc8 returned -19 after 0 usecs
[    2.799887] calling  add_pcspkr+0x0/0xdc @ 1
[    2.800010] initcall add_pcspkr+0x0/0xdc returned -19 after 116 usecs
[    2.800014] calling  init_debug_trig_function+0x0/0x200 @ 1
[    2.800031] initcall init_debug_trig_function+0x0/0x200 returned 0 after 11 usecs
[    2.800036] calling  barrier_nospec_debugfs_init+0x0/0x74 @ 1
[    2.800059] initcall barrier_nospec_debugfs_init+0x0/0x74 returned 0 after 19 usecs
[    2.800064] calling  security_feature_debugfs_init+0x0/0x70 @ 1
[    2.800070] initcall security_feature_debugfs_init+0x0/0x70 returned 0 after 3 usecs
[    2.800075] calling  stf_barrier_debugfs_init+0x0/0x74 @ 1
[    2.800081] initcall stf_barrier_debugfs_init+0x0/0x74 returned 0 after 2 usecs
[    2.800085] calling  count_cache_flush_debugfs_init+0x0/0x74 @ 1
[    2.800092] initcall count_cache_flush_debugfs_init+0x0/0x74 returned 0 after 2 usecs
[    2.800096] calling  rfi_flush_debugfs_init+0x0/0xc4 @ 1
[    2.800107] initcall rfi_flush_debugfs_init+0x0/0xc4 returned 0 after 7 usecs
[    2.800111] calling  proc_ppc64_init+0x0/0x94 @ 1
[    2.800122] initcall proc_ppc64_init+0x0/0x94 returned 0 after 7 usecs
[    2.800126] calling  rtas_init+0x0/0xd0 @ 1
[    2.800130] initcall rtas_init+0x0/0xd0 returned 0 after 0 usecs
[    2.800134] calling  proc_rtas_init+0x0/0x180 @ 1
[    2.800138] initcall proc_rtas_init+0x0/0x180 returned -19 after 0 usecs
[    2.800141] calling  eeh_init_proc+0x0/0x1a8 @ 1
[    2.800169] initcall eeh_init_proc+0x0/0x1a8 returned 0 after 23 usecs
[    2.800174] calling  serial_dev_init+0x0/0x1e0 @ 1
[    2.800177] initcall serial_dev_init+0x0/0x1e0 returned -19 after 0 usecs
[    2.800180] calling  audit_classes_init+0x0/0x110 @ 1
[    2.800197] initcall audit_classes_init+0x0/0x110 returned 0 after 13 usecs
[    2.800201] calling  __machine_initcall_pseries_hash64_debugfs+0x0/0x90 @ 1
[    2.800204] initcall __machine_initcall_pseries_hash64_debugfs+0x0/0x90 returned 0 after 0 usecs
[    2.800208] calling  topology_update_init+0x0/0x60 @ 1
[    2.800212] initcall topology_update_init+0x0/0x60 returned 0 after 0 usecs
[    2.800216] calling  mpic_init_sys+0x0/0xb0 @ 1
[    2.800265] initcall mpic_init_sys+0x0/0xb0 returned 0 after 44 usecs
[    2.800268] calling  __machine_initcall_powernv_opal_lpc_init_debugfs+0x0/0x1c8 @ 1
[    2.800286] initcall __machine_initcall_powernv_opal_lpc_init_debugfs+0x0/0x1c8 returned 0 after 12 usecs
[    2.800291] calling  __machine_initcall_powernv_subcore_init+0x0/0xe0 @ 1
[    2.801161] initcall __machine_initcall_powernv_subcore_init+0x0/0xe0 returned 0 after 845 usecs
[    2.801175] calling  __machine_initcall_powernv_opal_mem_err_init+0x0/0x78 @ 1
[    2.801189] initcall __machine_initcall_powernv_opal_mem_err_init+0x0/0x78 returned 0 after 1 usecs
[    2.801196] calling  opal_imc_driver_init+0x0/0x58 @ 1
[    2.801228] initcall opal_imc_driver_init+0x0/0x58 returned 0 after 28 usecs
[    2.801231] calling  __machine_initcall_powernv_memtrace_init+0x0/0xac @ 1
[    2.801240] initcall __machine_initcall_powernv_memtrace_init+0x0/0xac returned 0 after 5 usecs
[    2.801243] calling  vas_init+0x0/0x100 @ 1
[    2.801349] initcall vas_init+0x0/0x100 returned -19 after 100 usecs
[    2.801352] calling  scom_debug_init+0x0/0x2a0 @ 1
[    2.801522] initcall scom_debug_init+0x0/0x2a0 returned 0 after 162 usecs
[    2.801526] calling  __machine_initcall_pseries_vcpudispatch_stats_procfs_init+0x0/0x6c @ 1
[    2.801530] initcall __machine_initcall_pseries_vcpudispatch_stats_procfs_init+0x0/0x6c returned 0 after 0 usecs
[    2.801533] calling  __machine_initcall_pseries_reserve_vrma_context_id+0x0/0x6c @ 1
[    2.801537] initcall __machine_initcall_pseries_reserve_vrma_context_id+0x0/0x6c returned 0 after 0 usecs
[    2.801540] calling  __machine_initcall_pseries_proc_ppc64_create_ofdt+0x0/0x98 @ 1
[    2.801544] initcall __machine_initcall_pseries_proc_ppc64_create_ofdt+0x0/0x98 returned 0 after 0 usecs
[    2.801547] calling  __machine_initcall_pseries_apo_pm_init+0x0/0x88 @ 1
[    2.801551] initcall __machine_initcall_pseries_apo_pm_init+0x0/0x88 returned 0 after 0 usecs
[    2.801554] calling  __machine_initcall_pseries_dlpar_sysfs_init+0x0/0x78 @ 1
[    2.801558] initcall __machine_initcall_pseries_dlpar_sysfs_init+0x0/0x78 returned 0 after 0 usecs
[    2.801561] calling  __machine_initcall_pseries_mobility_sysfs_init+0x0/0x78 @ 1
[    2.801565] initcall __machine_initcall_pseries_mobility_sysfs_init+0x0/0x78 returned 0 after 0 usecs
[    2.801568] calling  pseries_energy_init+0x0/0x168 @ 1
[    2.801572] initcall pseries_energy_init+0x0/0x168 returned 0 after 0 usecs
[    2.801575] calling  __machine_initcall_pseries_pseries_memory_hotplug_init+0x0/0x88 @ 1
[    2.801579] initcall __machine_initcall_pseries_pseries_memory_hotplug_init+0x0/0x88 returned 0 after 0 usecs
[    2.801583] calling  __machine_initcall_pseries_lparcfg_init+0x0/0x78 @ 1
[    2.801586] initcall __machine_initcall_pseries_lparcfg_init+0x0/0x78 returned 0 after 0 usecs
[    2.801590] calling  __machine_initcall_pseries_vio_device_init+0x0/0x80 @ 1
[    2.801594] initcall __machine_initcall_pseries_vio_device_init+0x0/0x80 returned 0 after 0 usecs
[    2.801597] calling  __machine_initcall_pseries_pseries_suspend_init+0x0/0x78 @ 1
[    2.801601] initcall __machine_initcall_pseries_pseries_suspend_init+0x0/0x78 returned 0 after 0 usecs
[    2.801605] calling  __machine_initcall_pseries_pseries_vas_init+0x0/0x78 @ 1
[    2.801608] initcall __machine_initcall_pseries_pseries_vas_init+0x0/0x78 returned 0 after 0 usecs
[    2.801612] calling  setup_xmon_sysrq+0x0/0x48 @ 1
[    2.801700] initcall setup_xmon_sysrq+0x0/0x48 returned 0 after 83 usecs
[    2.801705] calling  setup_xmon_dbgfs+0x0/0x60 @ 1
[    2.801728] initcall setup_xmon_dbgfs+0x0/0x60 returned 0 after 18 usecs
[    2.801732] calling  hv_24x7_init+0x0/0x200 @ 1
[    2.801736] initcall hv_24x7_init+0x0/0x200 returned -19 after 0 usecs
[    2.801739] calling  hv_gpci_init+0x0/0x130 @ 1
[    2.801742] initcall hv_gpci_init+0x0/0x130 returned -19 after 0 usecs
[    2.801745] calling  proc_execdomains_init+0x0/0x6c @ 1
[    2.801754] initcall proc_execdomains_init+0x0/0x6c returned 0 after 5 usecs
[    2.801758] calling  register_warn_debugfs+0x0/0x6c @ 1
[    2.801764] initcall register_warn_debugfs+0x0/0x6c returned 0 after 2 usecs
[    2.801768] calling  cpuhp_sysfs_init+0x0/0x12c @ 1
[    2.802597] initcall cpuhp_sysfs_init+0x0/0x12c returned 0 after 806 usecs
[    2.802602] calling  ioresources_init+0x0/0xa8 @ 1
[    2.802609] initcall ioresources_init+0x0/0xa8 returned 0 after 3 usecs
[    2.802613] calling  psi_proc_init+0x0/0xf4 @ 1
[    2.802622] initcall psi_proc_init+0x0/0xf4 returned 0 after 5 usecs
[    2.802626] calling  irq_pm_init_ops+0x0/0x58 @ 1
[    2.802630] initcall irq_pm_init_ops+0x0/0x58 returned 0 after 0 usecs
[    2.802634] calling  timekeeping_init_ops+0x0/0x58 @ 1
[    2.802637] initcall timekeeping_init_ops+0x0/0x58 returned 0 after 0 usecs
[    2.802640] calling  init_clocksource_sysfs+0x0/0x74 @ 1
[    2.802737] initcall init_clocksource_sysfs+0x0/0x74 returned 0 after 91 usecs
[    2.802740] calling  init_timer_list_procfs+0x0/0x84 @ 1
[    2.802745] initcall init_timer_list_procfs+0x0/0x84 returned 0 after 1 usecs
[    2.802749] calling  alarmtimer_init+0x0/0x134 @ 1
[    2.802765] initcall alarmtimer_init+0x0/0x134 returned 0 after 13 usecs
[    2.802769] calling  init_posix_timers+0x0/0x74 @ 1
[    2.802774] initcall init_posix_timers+0x0/0x74 returned 0 after 2 usecs
[    2.802777] calling  clockevents_init_sysfs+0x0/0x78 @ 1
[    2.807410] initcall clockevents_init_sysfs+0x0/0x78 returned 0 after 4521 usecs
[    2.807414] calling  proc_dma_init+0x0/0x6c @ 1
[    2.807419] initcall proc_dma_init+0x0/0x6c returned 0 after 1 usecs
[    2.807422] calling  proc_modules_init+0x0/0x68 @ 1
[    2.807426] initcall proc_modules_init+0x0/0x68 returned 0 after 1 usecs
[    2.807430] calling  kallsyms_init+0x0/0x68 @ 1
[    2.807434] initcall kallsyms_init+0x0/0x68 returned 0 after 1 usecs
[    2.807437] calling  pid_namespaces_init+0x0/0x88 @ 1
[    2.807709] initcall pid_namespaces_init+0x0/0x88 returned 0 after 263 usecs
[    2.807714] calling  audit_watch_init+0x0/0x84 @ 1
[    2.807718] initcall audit_watch_init+0x0/0x84 returned 0 after 1 usecs
[    2.807721] calling  audit_fsnotify_init+0x0/0x84 @ 1
[    2.807725] initcall audit_fsnotify_init+0x0/0x84 returned 0 after 0 usecs
[    2.807728] calling  audit_tree_init+0x0/0xc8 @ 1
[    2.807734] initcall audit_tree_init+0x0/0xc8 returned 0 after 2 usecs
[    2.807737] calling  seccomp_sysctl_init+0x0/0x84 @ 1
[    2.807746] initcall seccomp_sysctl_init+0x0/0x84 returned 0 after 5 usecs
[    2.807750] calling  utsname_sysctl_init+0x0/0x58 @ 1
[    2.807759] initcall utsname_sysctl_init+0x0/0x58 returned 0 after 5 usecs
[    2.807763] calling  init_tracepoints+0x0/0x80 @ 1
[    2.807767] initcall init_tracepoints+0x0/0x80 returned 0 after 0 usecs
[    2.807770] calling  stack_trace_init+0x0/0x108 @ 1
[    2.807785] initcall stack_trace_init+0x0/0x108 returned 0 after 10 usecs
[    2.807789] calling  init_blk_tracer+0x0/0xac @ 1
[    2.807808] initcall init_blk_tracer+0x0/0xac returned 0 after 15 usecs
[    2.807812] calling  perf_event_sysfs_init+0x0/0x120 @ 1
[    2.808055] initcall perf_event_sysfs_init+0x0/0x120 returned 0 after 232 usecs
[    2.808059] calling  system_trusted_keyring_init+0x0/0x13c @ 1
[    2.808063] Initialise system trusted keyrings
[    2.808226] initcall system_trusted_keyring_init+0x0/0x13c returned 0 after 159 usecs
[    2.808231] calling  blacklist_init+0x0/0x130 @ 1
[    2.808235] Key type blacklist registered
[    2.809703] initcall blacklist_init+0x0/0x130 returned 0 after 1434 usecs
[    2.809708] calling  kswapd_init+0x0/0xbc @ 1
[    2.809781] initcall kswapd_init+0x0/0xbc returned 0 after 67 usecs
[    2.809785] calling  extfrag_debug_init+0x0/0xb0 @ 1
[    2.809797] initcall extfrag_debug_init+0x0/0xb0 returned 0 after 8 usecs
[    2.809802] calling  mm_compute_batch_init+0x0/0x68 @ 1
[    2.809807] initcall mm_compute_batch_init+0x0/0x68 returned 0 after 0 usecs
[    2.809811] calling  slab_proc_init+0x0/0x68 @ 1
[    2.809815] initcall slab_proc_init+0x0/0x68 returned 0 after 1 usecs
[    2.809819] calling  workingset_init+0x0/0x110 @ 1
[    2.809822] workingset: timestamp_bits=38 max_order=24 bucket_order=0
[    2.810293] initcall workingset_init+0x0/0x110 returned 0 after 460 usecs
[    2.810296] calling  proc_vmalloc_init+0x0/0x7c @ 1
[    2.810300] initcall proc_vmalloc_init+0x0/0x7c returned 0 after 1 usecs
[    2.810304] calling  memblock_init_debugfs+0x0/0xc8 @ 1
[    2.810314] initcall memblock_init_debugfs+0x0/0xc8 returned 0 after 7 usecs
[    2.810318] calling  procswaps_init+0x0/0x68 @ 1
[    2.810322] initcall procswaps_init+0x0/0x68 returned 0 after 1 usecs
[    2.810326] calling  init_frontswap+0x0/0xfc @ 1
[    2.810342] initcall init_frontswap+0x0/0xfc returned 0 after 12 usecs
[    2.810345] calling  slab_sysfs_init+0x0/0x234 @ 1
[    2.815137] initcall slab_sysfs_init+0x0/0x234 returned 0 after 4676 usecs
[    2.815142] calling  slab_debugfs_init+0x0/0x140 @ 1
[    2.815150] initcall slab_debugfs_init+0x0/0x140 returned 0 after 4 usecs
[    2.815153] calling  init_zbud+0x0/0x68 @ 1
[    2.815157] zbud: loaded
[    2.815166] initcall init_zbud+0x0/0x68 returned 0 after 8 usecs
[    2.815169] calling  zs_init+0x0/0xe4 @ 1
[    2.815994] initcall zs_init+0x0/0xe4 returned 0 after 801 usecs
[    2.815998] calling  fcntl_init+0x0/0x74 @ 1
[    2.816006] initcall fcntl_init+0x0/0x74 returned 0 after 4 usecs
[    2.816010] calling  proc_filesystems_init+0x0/0x6c @ 1
[    2.816015] initcall proc_filesystems_init+0x0/0x6c returned 0 after 2 usecs
[    2.816020] calling  start_dirtytime_writeback+0x0/0x78 @ 1
[    2.816025] initcall start_dirtytime_writeback+0x0/0x78 returned 0 after 1 usecs
[    2.816029] calling  dio_init+0x0/0x74 @ 1
[    2.816035] initcall dio_init+0x0/0x74 returned 0 after 2 usecs
[    2.816039] calling  dnotify_init+0x0/0xec @ 1
[    2.816303] initcall dnotify_init+0x0/0xec returned 0 after 253 usecs
[    2.816307] calling  fanotify_user_setup+0x0/0x174 @ 1
[    2.816555] initcall fanotify_user_setup+0x0/0x174 returned 0 after 237 usecs
[    2.816560] calling  userfaultfd_init+0x0/0x7c @ 1
[    2.816765] initcall userfaultfd_init+0x0/0x7c returned 0 after 197 usecs
[    2.816770] calling  aio_setup+0x0/0xfc @ 1
[    2.817606] initcall aio_setup+0x0/0xfc returned 0 after 812 usecs
[    2.817611] calling  io_uring_init+0x0/0x78 @ 1
[    2.817617] initcall io_uring_init+0x0/0x78 returned 0 after 2 usecs
[    2.817621] calling  init_devpts_fs+0x0/0x7c @ 1
[    2.817634] initcall init_devpts_fs+0x0/0x7c returned 0 after 9 usecs
[    2.817638] calling  init_squashfs_fs+0x0/0xe0 @ 1
[    2.817831] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    2.817847] initcall init_squashfs_fs+0x0/0xe0 returned 0 after 201 usecs
[    2.817850] calling  init_fat_fs+0x0/0x9c @ 1
[    2.818302] initcall init_fat_fs+0x0/0x9c returned 0 after 439 usecs
[    2.818306] calling  init_vfat_fs+0x0/0x54 @ 1
[    2.818309] initcall init_vfat_fs+0x0/0x54 returned 0 after 0 usecs
[    2.818312] calling  ecryptfs_init+0x0/0x290 @ 1
[    2.819113] initcall ecryptfs_init+0x0/0x290 returned 0 after 778 usecs
[    2.819116] calling  init_nls_cp437+0x0/0x58 @ 1
[    2.819119] initcall init_nls_cp437+0x0/0x58 returned 0 after 0 usecs
[    2.819123] calling  fuse_init+0x0/0x1f0 @ 1
[    2.819125] fuse: init (API version 7.36)
[    2.819609] initcall fuse_init+0x0/0x1f0 returned 0 after 472 usecs
[    2.819613] calling  ipc_init+0x0/0x74 @ 1
[    2.819626] initcall ipc_init+0x0/0x74 returned 0 after 9 usecs
[    2.819629] calling  ipc_sysctl_init+0x0/0x58 @ 1
[    2.819641] initcall ipc_sysctl_init+0x0/0x58 returned 0 after 8 usecs
[    2.819645] calling  init_mqueue_fs+0x0/0x134 @ 1
[    2.820457] initcall init_mqueue_fs+0x0/0x134 returned 0 after 789 usecs
[    2.820461] calling  key_proc_init+0x0/0xc8 @ 1
[    2.820467] initcall key_proc_init+0x0/0xc8 returned 0 after 3 usecs
[    2.820471] calling  jent_mod_init+0x0/0x88 @ 1
[    2.862146] initcall jent_mod_init+0x0/0x88 returned 0 after 40695 usecs
[    2.862152] calling  calibrate_xor_blocks+0x0/0x18c @ 1
[    2.862156] xor: measuring software checksum speed
[    2.862962]    8regs           : 12413 MB/sec
[    2.863917]    8regs_prefetch  : 10481 MB/sec
[    2.864688]    32regs          : 12974 MB/sec
[    2.865587]    32regs_prefetch : 11085 MB/sec
[    2.872984]    altivec         :  1334 MB/sec
[    2.872997] xor: using function: 32regs (12974 MB/sec)
[    2.873010] initcall calibrate_xor_blocks+0x0/0x18c returned 0 after 10600 usecs
[    2.873014] calling  asymmetric_key_init+0x0/0x54 @ 1
[    2.873018] Key type asymmetric registered
[    2.873028] initcall asymmetric_key_init+0x0/0x54 returned 0 after 10 usecs
[    2.873032] calling  x509_key_init+0x0/0x54 @ 1
[    2.873035] Asymmetric key parser 'x509' registered
[    2.873047] initcall x509_key_init+0x0/0x54 returned 0 after 12 usecs
[    2.873051] calling  blkdev_init+0x0/0x60 @ 1
[    2.873488] initcall blkdev_init+0x0/0x60 returned 0 after 423 usecs
[    2.873492] calling  proc_genhd_init+0x0/0x98 @ 1
[    2.873505] initcall proc_genhd_init+0x0/0x98 returned 0 after 9 usecs
[    2.873508] calling  bsg_init+0x0/0x10c @ 1
[    2.873527] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    2.873543] initcall bsg_init+0x0/0x10c returned 0 after 31 usecs
[    2.873547] calling  throtl_init+0x0/0x8c @ 1
[    2.873793] initcall throtl_init+0x0/0x8c returned 0 after 237 usecs
[    2.873797] calling  deadline_init+0x0/0x54 @ 1
[    2.873801] io scheduler mq-deadline registered
[    2.873813] initcall deadline_init+0x0/0x54 returned 0 after 12 usecs
[    2.873817] calling  blake2s_mod_init+0x0/0x48 @ 1
[    2.873821] initcall blake2s_mod_init+0x0/0x48 returned 0 after 0 usecs
[    2.873824] calling  crc_t10dif_mod_init+0x0/0x80 @ 1
[    2.873903] initcall crc_t10dif_mod_init+0x0/0x80 returned 0 after 73 usecs
[    2.873909] calling  libcrc32c_mod_init+0x0/0x70 @ 1
[    2.874000] initcall libcrc32c_mod_init+0x0/0x70 returned 0 after 84 usecs
[    2.874006] calling  percpu_counter_startup+0x0/0x9c @ 1
[    2.875672] initcall percpu_counter_startup+0x0/0x9c returned 0 after 1622 usecs
[    2.875677] calling  sg_pool_init+0x0/0x144 @ 1
[    2.875739] initcall sg_pool_init+0x0/0x144 returned 0 after 57 usecs
[    2.875744] calling  simple_pm_bus_driver_init+0x0/0x58 @ 1
[    2.875795] initcall simple_pm_bus_driver_init+0x0/0x58 returned 0 after 46 usecs
[    2.875800] calling  phy_core_init+0x0/0xac @ 1
[    2.875815] initcall phy_core_init+0x0/0xac returned 0 after 11 usecs
[    2.875819] calling  as3722_pinctrl_driver_init+0x0/0x58 @ 1
[    2.875840] initcall as3722_pinctrl_driver_init+0x0/0x58 returned 0 after 16 usecs
[    2.875844] calling  palmas_pinctrl_driver_init+0x0/0x58 @ 1
[    2.875868] initcall palmas_pinctrl_driver_init+0x0/0x58 returned 0 after 19 usecs
[    2.875873] calling  pcs_driver_init+0x0/0x58 @ 1
[    2.875904] initcall pcs_driver_init+0x0/0x58 returned 0 after 27 usecs
[    2.875908] calling  ftgpio_gpio_driver_init+0x0/0x58 @ 1
[    2.875933] initcall ftgpio_gpio_driver_init+0x0/0x58 returned 0 after 20 usecs
[    2.875937] calling  stmpe_pwm_driver_init+0x0/0x60 @ 1
[    2.875960] initcall stmpe_pwm_driver_init+0x0/0x60 returned -19 after 19 usecs
[    2.875965] calling  pci_proc_init+0x0/0xf8 @ 1
[    2.876032] initcall pci_proc_init+0x0/0xf8 returned 0 after 62 usecs
[    2.876036] calling  pci_hotplug_init+0x0/0xb0 @ 1
[    2.876040] initcall pci_hotplug_init+0x0/0xb0 returned 0 after 0 usecs
[    2.876044] calling  pci_ep_cfs_init+0x0/0x16c @ 1
[    2.876722] initcall pci_ep_cfs_init+0x0/0x16c returned 0 after 658 usecs
[    2.876727] calling  pci_epc_init+0x0/0xa0 @ 1
[    2.876739] initcall pci_epc_init+0x0/0xa0 returned 0 after 8 usecs
[    2.876744] calling  pci_epf_init+0x0/0x84 @ 1
[    2.876763] initcall pci_epf_init+0x0/0x84 returned 0 after 15 usecs
[    2.876768] calling  virtio_mmio_init+0x0/0x58 @ 1
[    2.876790] initcall virtio_mmio_init+0x0/0x58 returned 0 after 18 usecs
[    2.876794] calling  virtio_pci_driver_init+0x0/0x60 @ 1
[    2.876831] initcall virtio_pci_driver_init+0x0/0x60 returned 0 after 31 usecs
[    2.876835] calling  virtio_balloon_driver_init+0x0/0x54 @ 1
[    2.876850] initcall virtio_balloon_driver_init+0x0/0x54 returned 0 after 10 usecs
[    2.876855] calling  n_null_init+0x0/0x60 @ 1
[    2.876859] initcall n_null_init+0x0/0x60 returned 0 after 0 usecs
[    2.876863] calling  pty_init+0x0/0x50 @ 1
[    2.876936] initcall pty_init+0x0/0x50 returned 0 after 68 usecs
[    2.876941] calling  sysrq_init+0x0/0xdc @ 1
[    2.876949] initcall sysrq_init+0x0/0xdc returned 0 after 4 usecs
[    2.876954] calling  hvc_vio_init+0x0/0x60 @ 1
[    2.876958] initcall hvc_vio_init+0x0/0x60 returned -19 after 0 usecs
[    2.876962] calling  hvc_opal_init+0x0/0x74 @ 1
[    2.876990] hvc0: raw protocol on /ibm,opal/consoles/serial@0 (boot console)
[    2.877016] hvc0: No interrupts property, using OPAL event
[    2.877705] initcall hvc_opal_init+0x0/0x74 returned 0 after 721 usecs
[    2.877710] calling  hvsi_init+0x0/0x2c8 @ 1
[    2.877714] initcall hvsi_init+0x0/0x2c8 returned -22 after 0 usecs
[    2.877718] calling  hvc_rtas_init+0x0/0xf0 @ 1
[    2.877723] initcall hvc_rtas_init+0x0/0xf0 returned -5 after 0 usecs
[    2.877727] calling  serial8250_init+0x0/0x174 @ 1
[    2.877730] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    2.882170] initcall serial8250_init+0x0/0x174 returned 0 after 4335 usecs
[    2.882174] calling  serial_pci_driver_init+0x0/0x60 @ 1
[    2.882217] initcall serial_pci_driver_init+0x0/0x60 returned 0 after 39 usecs
[    2.882221] calling  pericom8250_pci_driver_init+0x0/0x60 @ 1
[    2.882243] initcall pericom8250_pci_driver_init+0x0/0x60 returned 0 after 18 usecs
[    2.882246] calling  of_platform_serial_driver_init+0x0/0x58 @ 1
[    2.882297] initcall of_platform_serial_driver_init+0x0/0x58 returned 0 after 46 usecs
[    2.882300] calling  max310x_uart_init+0x0/0xb8 @ 1
[    2.882325] initcall max310x_uart_init+0x0/0xb8 returned 0 after 21 usecs
[    2.882328] calling  sccnxp_uart_driver_init+0x0/0x58 @ 1
[    2.882347] initcall sccnxp_uart_driver_init+0x0/0x58 returned 0 after 14 usecs
[    2.882350] calling  init_kgdboc+0x0/0xe4 @ 1
[    2.882411] initcall init_kgdboc+0x0/0xe4 returned 0 after 57 usecs
[    2.882415] calling  random_sysctls_init+0x0/0x68 @ 1
[    2.882424] initcall random_sysctls_init+0x0/0x68 returned 0 after 6 usecs
[    2.882428] calling  ttyprintk_init+0x0/0x168 @ 1
[    2.882485] initcall ttyprintk_init+0x0/0x168 returned 0 after 53 usecs
[    2.882488] calling  init+0x0/0x188 @ 1
[    2.882524] initcall init+0x0/0x188 returned 0 after 32 usecs
[    2.882527] calling  nvram_module_init+0x0/0xe0 @ 1
[    2.882577] Non-volatile memory driver v1.3
[    2.882588] initcall nvram_module_init+0x0/0xe0 returned 0 after 55 usecs
[    2.882591] calling  hwrng_modinit+0x0/0xfc @ 1
[    2.882646] initcall hwrng_modinit+0x0/0xfc returned 0 after 50 usecs
[    2.882650] calling  agp_init+0x0/0x74 @ 1
[    2.882652] Linux agpgart interface v0.103
[    2.882663] initcall agp_init+0x0/0x74 returned 0 after 10 usecs
[    2.882667] calling  init_tis+0x0/0x58 @ 1
[    2.882687] initcall init_tis+0x0/0x58 returned 0 after 17 usecs
[    2.882691] calling  i2c_atmel_driver_init+0x0/0x58 @ 1
[    2.882706] initcall i2c_atmel_driver_init+0x0/0x58 returned 0 after 12 usecs
[    2.882710] calling  tpm_tis_i2c_driver_init+0x0/0x58 @ 1
[    2.882723] initcall tpm_tis_i2c_driver_init+0x0/0x58 returned 0 after 10 usecs
[    2.882727] calling  i2c_nuvoton_driver_init+0x0/0x58 @ 1
[    2.882740] initcall i2c_nuvoton_driver_init+0x0/0x58 returned 0 after 10 usecs
[    2.882744] calling  ibmvtpm_module_init+0x0/0x60 @ 1
[    2.882747] initcall ibmvtpm_module_init+0x0/0x60 returned -19 after 0 usecs
[    2.882750] calling  drm_core_init+0x0/0x124 @ 1
[    2.882769] initcall drm_core_init+0x0/0x124 returned 0 after 16 usecs
[    2.882773] calling  cn_proc_init+0x0/0x90 @ 1
[    2.882778] initcall cn_proc_init+0x0/0x90 returned 0 after 1 usecs
[    2.882781] calling  topology_sysfs_init+0x0/0x70 @ 1
[    2.885239] initcall topology_sysfs_init+0x0/0x70 returned 0 after 2396 usecs
[    2.885243] calling  cacheinfo_sysfs_init+0x0/0x70 @ 1
[    2.885251] initcall cacheinfo_sysfs_init+0x0/0x70 returned -2 after 4 usecs
[    2.885255] calling  loop_init+0x0/0x1c4 @ 1
[    2.936599] loop: module loaded
[    2.936616] initcall loop_init+0x0/0x1c4 returned 0 after 50154 usecs
[    2.936622] calling  htcpld_core_init+0x0/0x80 @ 1
[    2.936671] initcall htcpld_core_init+0x0/0x80 returned -19 after 44 usecs
[    2.936675] calling  tps65912_i2c_driver_init+0x0/0x58 @ 1
[    2.936689] initcall tps65912_i2c_driver_init+0x0/0x58 returned 0 after 10 usecs
[    2.936693] calling  tps65912_spi_driver_init+0x0/0x58 @ 1
[    2.936708] initcall tps65912_spi_driver_init+0x0/0x58 returned 0 after 10 usecs
[    2.936712] calling  twl_driver_init+0x0/0x58 @ 1
[    2.936725] initcall twl_driver_init+0x0/0x58 returned 0 after 10 usecs
[    2.936729] calling  twl4030_audio_driver_init+0x0/0x58 @ 1
[    2.936759] initcall twl4030_audio_driver_init+0x0/0x58 returned 0 after 25 usecs
[    2.936763] calling  twl6040_driver_init+0x0/0x58 @ 1
[    2.936776] initcall twl6040_driver_init+0x0/0x58 returned 0 after 10 usecs
[    2.936780] calling  da9063_i2c_driver_init+0x0/0x58 @ 1
[    2.936795] initcall da9063_i2c_driver_init+0x0/0x58 returned 0 after 11 usecs
[    2.936799] calling  max14577_i2c_init+0x0/0x58 @ 1
[    2.936813] initcall max14577_i2c_init+0x0/0x58 returned 0 after 9 usecs
[    2.936817] calling  max77620_driver_init+0x0/0x58 @ 1
[    2.936830] initcall max77620_driver_init+0x0/0x58 returned 0 after 9 usecs
[    2.936833] calling  max77686_i2c_driver_init+0x0/0x58 @ 1
[    2.936847] initcall max77686_i2c_driver_init+0x0/0x58 returned 0 after 10 usecs
[    2.936851] calling  max77693_i2c_driver_init+0x0/0x58 @ 1
[    2.936864] initcall max77693_i2c_driver_init+0x0/0x58 returned 0 after 9 usecs
[    2.936868] calling  adp5520_driver_init+0x0/0x58 @ 1
[    2.936880] initcall adp5520_driver_init+0x0/0x58 returned 0 after 7 usecs
[    2.936884] calling  sec_pmic_driver_init+0x0/0x58 @ 1
[    2.936897] initcall sec_pmic_driver_init+0x0/0x58 returned 0 after 9 usecs
[    2.936901] calling  as3722_i2c_driver_init+0x0/0x58 @ 1
[    2.936914] initcall as3722_i2c_driver_init+0x0/0x58 returned 0 after 9 usecs
[    2.936918] calling  of_pmem_region_driver_init+0x0/0x58 @ 1
[    2.936940] initcall of_pmem_region_driver_init+0x0/0x58 returned 0 after 18 usecs
[    2.936945] calling  srp_transport_init+0x0/0xa8 @ 1
[    2.936961] initcall srp_transport_init+0x0/0xa8 returned 0 after 12 usecs
[    2.936965] calling  init_sd+0x0/0x2b4 @ 1
[    2.937024] initcall init_sd+0x0/0x2b4 returned 0 after 53 usecs
[    2.937028] calling  nvme_core_init+0x0/0x284 @ 1
[    2.937366] initcall nvme_core_init+0x0/0x284 returned 0 after 326 usecs
[    2.937370] calling  nvme_init+0x0/0x60 @ 1
[    2.937406] initcall nvme_init+0x0/0x60 returned 0 after 32 usecs
[    2.937410] calling  ahci_pci_driver_init+0x0/0x60 @ 1
[    2.937482] ahci 0021:0e:00.0: version 3.0
[    2.937509] ahci 0021:0e:00.0: enabling device (0541 -> 0543)
[    2.948215] ahci 0021:0e:00.0: AHCI 0001.0000 32 slots 4 ports 6 Gbps 0xf impl SATA mode
[    2.948236] ahci 0021:0e:00.0: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
[    2.949252] scsi host0: ahci
[    2.950014] scsi host1: ahci
[    2.950446] scsi host2: ahci
[    2.950898] scsi host3: ahci
[    2.951211] ata1: SATA max UDMA/133 abar m2048@0x3fe881000000 port 0x3fe881000100 irq 39
[    2.951231] ata2: SATA max UDMA/133 abar m2048@0x3fe881000000 port 0x3fe881000180 irq 39
[    2.951249] ata3: SATA max UDMA/133 abar m2048@0x3fe881000000 port 0x3fe881000200 irq 39
[    2.951267] ata4: SATA max UDMA/133 abar m2048@0x3fe881000000 port 0x3fe881000280 irq 39
[    2.951384] initcall ahci_pci_driver_init+0x0/0x60 returned 0 after 13642 usecs
[    2.951392] calling  fsl_spi_init+0x0/0x58 @ 1
[    2.951448] initcall fsl_spi_init+0x0/0x58 returned 0 after 48 usecs
[    2.951455] calling  blackhole_netdev_init+0x0/0xd8 @ 1
[    2.951865] initcall blackhole_netdev_init+0x0/0xd8 returned 0 after 394 usecs
[    2.951870] calling  fixed_mdio_bus_init+0x0/0x168 @ 1
[    2.952134] initcall fixed_mdio_bus_init+0x0/0x168 returned 0 after 254 usecs
[    2.952139] calling  tun_init+0x0/0x144 @ 1
[    2.952142] tun: Universal TUN/TAP device driver, 1.6
[    3.059866] ata3: SATA link down (SStatus 0 SControl 300)
[    3.172033] ata4: SATA link down (SStatus 0 SControl 300)
[    3.172087] initcall tun_init+0x0/0x144 returned 0 after 214790 usecs
[    3.172092] calling  cavium_ptp_driver_init+0x0/0x60 @ 1
[    3.172117] initcall cavium_ptp_driver_init+0x0/0x60 returned 0 after 20 usecs
[    3.172121] calling  ppp_init+0x0/0x1b0 @ 1
[    3.172125] PPP generic driver version 2.4.2
[    3.172203] initcall ppp_init+0x0/0x1b0 returned 0 after 76 usecs
[    3.172210] calling  vfio_init+0x0/0x1bc @ 1
[    3.172308] VFIO - User Level meta-driver version: 0.3
[    3.172336] initcall vfio_init+0x0/0x1bc returned 0 after 117 usecs
[    3.172340] calling  vfio_virqfd_init+0x0/0x84 @ 1
[    3.172398] initcall vfio_virqfd_init+0x0/0x84 returned 0 after 53 usecs
[    3.172403] calling  tce_iommu_init+0x0/0x54 @ 1
[    3.172407] initcall tce_iommu_init+0x0/0x54 returned 0 after 0 usecs
[    3.172411] calling  vfio_pci_core_init+0x0/0x4c @ 1
[    3.172428] initcall vfio_pci_core_init+0x0/0x4c returned 0 after 13 usecs
[    3.172432] calling  vfio_pci_init+0x0/0x148 @ 1
[    3.172463] initcall vfio_pci_init+0x0/0x148 returned 0 after 26 usecs
[    3.172467] calling  dwc2_platform_driver_init+0x0/0x58 @ 1
[    3.172521] initcall dwc2_platform_driver_init+0x0/0x58 returned 0 after 48 usecs
[    3.172526] calling  ehci_hcd_init+0x0/0x18c @ 1
[    3.172529] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.172570] initcall ehci_hcd_init+0x0/0x18c returned 0 after 40 usecs
[    3.172578] calling  ehci_pci_init+0x0/0xd0 @ 1
[    3.172583] ehci-pci: EHCI PCI platform driver
[    3.172726] initcall ehci_pci_init+0x0/0xd0 returned 0 after 139 usecs
[    3.172731] calling  ohci_hcd_mod_init+0x0/0xf0 @ 1
[    3.172734] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    3.172751] initcall ohci_hcd_mod_init+0x0/0xf0 returned 0 after 16 usecs
[    3.172755] calling  ohci_pci_init+0x0/0xd0 @ 1
[    3.172759] ohci-pci: OHCI PCI platform driver
[    3.172788] initcall ohci_pci_init+0x0/0xd0 returned 0 after 28 usecs
[    3.172792] calling  uhci_hcd_init+0x0/0x1ec @ 1
[    3.172796] uhci_hcd: USB Universal Host Controller Interface driver
[    3.172845] initcall uhci_hcd_init+0x0/0x1ec returned 0 after 48 usecs
[    3.172850] calling  xhci_hcd_init+0x0/0x6c @ 1
[    3.172856] initcall xhci_hcd_init+0x0/0x6c returned 0 after 3 usecs
[    3.172860] calling  xhci_pci_init+0x0/0xa8 @ 1
[    3.172939] xhci_hcd 0021:0d:00.0: xHCI Host Controller
[    3.173112] xhci_hcd 0021:0d:00.0: new USB bus registered, assigned bus number 1
[    3.175354] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    3.175440] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    3.175857] ata2.00: ATA-10: ST1000NX0313         00LY266 00LY265IBM, BE33, max UDMA/133
[    3.175946] ata1.00: ATA-10: ST1000NX0313         00LY266 00LY265IBM, BE33, max UDMA/133
[    3.175966] ata2.00: 1953525168 sectors, multi 0: LBA48 NCQ (depth 32), AA
[    3.176108] ata1.00: 1953525168 sectors, multi 0: LBA48 NCQ (depth 32), AA
[    3.177819] ata1.00: configured for UDMA/133
[    3.177863] ata2.00: configured for UDMA/133
[    3.181818] scsi 0:0:0:0: Direct-Access     ATA      ST1000NX0313     BE33 PQ: 0 ANSI: 5
[    3.184250] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[    3.184278] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    3.184315] sd 0:0:0:0: [sda] Write Protect is off
[    3.184338] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    3.184380] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    3.187300] scsi 1:0:0:0: Direct-Access     ATA      ST1000NX0313     BE33 PQ: 0 ANSI: 5
[    3.189575] sd 1:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[    3.189603] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[    3.189646] sd 1:0:0:0: [sdb] Write Protect is off
[    3.189858] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    3.189890] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    3.205151] xhci_hcd 0021:0d:00.0: Host halt failed, -110
[    3.205169] xhci_hcd 0021:0d:00.0: can't setup: -110
[    3.205187] xhci_hcd 0021:0d:00.0: USB bus 1 deregistered
[    3.205220] xhci_hcd 0021:0d:00.0: init 0021:0d:00.0 fail, -110
[    3.205243] xhci_hcd: probe of 0021:0d:00.0 failed with error -110
[    3.205301] initcall xhci_pci_init+0x0/0xa8 returned 0 after 31677 usecs
[    3.205306] calling  i8042_init+0x0/0x1d0 @ 1
[    3.205551] initcall i8042_init+0x0/0x1d0 returned 0 after 235 usecs
[    3.205556] calling  mousedev_init+0x0/0xcc @ 1
[    3.205671] mousedev: PS/2 mouse device common for all mice
[    3.205683] initcall mousedev_init+0x0/0xcc returned 0 after 120 usecs
[    3.205688] calling  evdev_init+0x0/0x54 @ 1
[    3.205691] initcall evdev_init+0x0/0x54 returned 0 after 0 usecs
[    3.205695] calling  atkbd_init+0x0/0x60 @ 1
[    3.205717] initcall atkbd_init+0x0/0x60 returned 0 after 17 usecs
[    3.205721] calling  uinput_misc_init+0x0/0x54 @ 1
[    3.205774] initcall uinput_misc_init+0x0/0x54 returned 0 after 47 usecs
[    3.205778] calling  generic_rtc_driver_init+0x0/0x60 @ 1
[    3.205801] initcall generic_rtc_driver_init+0x0/0x60 returned -19 after 18 usecs
[    3.205806] calling  i2c_dev_init+0x0/0x138 @ 1
[    3.205809] i2c_dev: i2c /dev entries driver
[    3.205831] initcall i2c_dev_init+0x0/0x138 returned 0 after 20 usecs
[    3.205835] calling  i2c_opal_init+0x0/0x74 @ 1
[    3.210259] initcall i2c_opal_init+0x0/0x74 returned 0 after 4317 usecs
[    3.210264] calling  as3722_poweroff_driver_init+0x0/0x58 @ 1
[    3.210283] initcall as3722_poweroff_driver_init+0x0/0x58 returned 0 after 14 usecs
[    3.210287] calling  gpio_poweroff_driver_init+0x0/0x58 @ 1
[    3.210308] initcall gpio_poweroff_driver_init+0x0/0x58 returned 0 after 16 usecs
[    3.210313] calling  gpio_restart_driver_init+0x0/0x58 @ 1
[    3.210333] initcall gpio_restart_driver_init+0x0/0x58 returned 0 after 16 usecs
[    3.210338] calling  ltc2952_poweroff_driver_init+0x0/0x58 @ 1
[    3.210358] initcall ltc2952_poweroff_driver_init+0x0/0x58 returned 0 after 15 usecs
[    3.210362] calling  restart_poweroff_driver_init+0x0/0x58 @ 1
[    3.210382] initcall restart_poweroff_driver_init+0x0/0x58 returned 0 after 15 usecs
[    3.210387] calling  syscon_reboot_driver_init+0x0/0x58 @ 1
[    3.210407] initcall syscon_reboot_driver_init+0x0/0x58 returned 0 after 15 usecs
[    3.210411] calling  syscon_poweroff_register+0x0/0x58 @ 1
[    3.210431] initcall syscon_poweroff_register+0x0/0x58 returned 0 after 15 usecs
[    3.210436] calling  watchdog_gov_noop_register+0x0/0x54 @ 1
[    3.210441] initcall watchdog_gov_noop_register+0x0/0x54 returned 0 after 1 usecs
[    3.210446] calling  dm_init+0x0/0x118 @ 1
[    3.210917] device-mapper: uevent: version 1.0.3
[    3.211204] device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised: dm-devel@redhat.com
[    3.211224] initcall dm_init+0x0/0x118 returned 0 after 756 usecs
[    3.211229] calling  powernv_cpufreq_init+0x0/0x4dc @ 1
[    3.211237] powernv-cpufreq: cpufreq pstate min 0xffffffd5 nominal 0xffffffef max 0x0
[    3.211253] powernv-cpufreq: Workload Optimized Frequency is disabled in the platform
[    3.212742] initcall powernv_cpufreq_init+0x0/0x4dc returned 0 after 1474 usecs
[    3.212745] calling  pseries_processor_idle_init+0x0/0x22c @ 1
[    3.212748] initcall pseries_processor_idle_init+0x0/0x22c returned -19 after 0 usecs
[    3.212751] calling  powernv_processor_idle_init+0x0/0x4e4 @ 1
[    3.221193] powernv_idle_driver registered
[    3.221195] initcall powernv_processor_idle_init+0x0/0x4e4 returned 0 after 8243 usecs
[    3.221198] calling  syscon_led_driver_init+0x0/0x58 @ 1
[    3.221224] initcall syscon_led_driver_init+0x0/0x58 returned 0 after 23 usecs
[    3.221227] calling  ledtrig_disk_init+0x0/0xa8 @ 1
[    3.221234] initcall ledtrig_disk_init+0x0/0xa8 returned 0 after 4 usecs
[    3.221237] calling  ledtrig_mtd_init+0x0/0x78 @ 1
[    3.221240] initcall ledtrig_mtd_init+0x0/0x78 returned 0 after 1 usecs
[    3.221243] calling  ledtrig_cpu_init+0x0/0x1e8 @ 1
[    3.223290] ledtrig-cpu: registered to indicate activity on CPUs
[    3.223313] initcall ledtrig_cpu_init+0x0/0x1e8 returned 0 after 2018 usecs
[    3.223318] calling  ledtrig_panic_init+0x0/0x8c @ 1
[    3.223328] initcall ledtrig_panic_init+0x0/0x8c returned 0 after 3 usecs
[    3.223335] calling  extcon_class_init+0x0/0xac @ 1
[    3.223367] initcall extcon_class_init+0x0/0xac returned 0 after 13 usecs
[    3.223372] calling  sock_diag_init+0x0/0x80 @ 1
[    3.224023] initcall sock_diag_init+0x0/0x80 returned 0 after 628 usecs
[    3.224030] calling  init_net_drop_monitor+0x0/0x248 @ 1
[    3.224038] drop_monitor: Initializing network drop monitor service
[    3.224131] initcall init_net_drop_monitor+0x0/0x248 returned 0 after 89 usecs
[    3.224139] calling  blackhole_init+0x0/0x54 @ 1
[    3.224147] initcall blackhole_init+0x0/0x54 returned 0 after 1 usecs
[    3.224155] calling  gre_offload_init+0x0/0xb0 @ 1
[    3.224164] initcall gre_offload_init+0x0/0xb0 returned 0 after 0 usecs
[    3.224173] calling  sysctl_ipv4_init+0x0/0xb4 @ 1
[    3.224266] initcall sysctl_ipv4_init+0x0/0xb4 returned 0 after 83 usecs
[    3.224273] calling  cubictcp_register+0x0/0xb4 @ 1
[    3.224282] initcall cubictcp_register+0x0/0xb4 returned 0 after 0 usecs
[    3.224290] calling  inet6_init+0x0/0x548 @ 1
[    3.226830] NET: Registered PF_INET6 protocol family
[    3.238058] Segment Routing with IPv6
[    3.238101] In-situ OAM (IOAM) with IPv6
[    3.238164] initcall inet6_init+0x0/0x548 returned 0 after 13541 usecs
[    3.238173] calling  packet_init+0x0/0x108 @ 1
[    3.238183] NET: Registered PF_PACKET protocol family
[    3.238206] initcall packet_init+0x0/0x108 returned 0 after 23 usecs
[    3.238214] calling  strp_dev_init+0x0/0x84 @ 1
[    3.238297] initcall strp_dev_init+0x0/0x84 returned 0 after 73 usecs
[    3.238307] calling  dcbnl_init+0x0/0x90 @ 1
[    3.238319] initcall dcbnl_init+0x0/0x90 returned 0 after 4 usecs
[    3.238328] calling  init_dns_resolver+0x0/0x188 @ 1
[    3.238351] Key type dns_resolver registered
[    3.238370] initcall init_dns_resolver+0x0/0x188 returned 0 after 31 usecs
[    3.238405] calling  drmem_init+0x0/0x18c @ 1
[    3.238450] drmem: No dynamic reconfiguration memory found
[    3.238468] initcall drmem_init+0x0/0x18c returned 0 after 54 usecs
[    3.238476] calling  create_tlb_single_page_flush_ceiling+0x0/0x98 @ 1
[    3.238528] initcall create_tlb_single_page_flush_ceiling+0x0/0x98 returned 0 after 42 usecs
[    3.238537] calling  check_features+0x0/0xcc @ 1
[    3.238545] initcall check_features+0x0/0xcc returned 0 after 0 usecs
[    3.238553] calling  __machine_initcall_pseries_init_ras_hotplug_IRQ+0x0/0x6c @ 1
[    3.238562] initcall __machine_initcall_pseries_init_ras_hotplug_IRQ+0x0/0x6c returned 0 after 0 usecs
[    3.238570] calling  kexec_setup+0x0/0xec @ 1
[    3.238617] initcall kexec_setup+0x0/0xec returned 0 after 38 usecs
[    3.238626] calling  export_htab_values+0x0/0x154 @ 1
[    3.238652] initcall export_htab_values+0x0/0x154 returned 0 after 17 usecs
[    3.238661] calling  reboot_ksysfs_init+0x0/0xbc @ 1
[    3.238681] initcall reboot_ksysfs_init+0x0/0xbc returned 0 after 12 usecs
[    3.238691] calling  sched_init_debug+0x0/0x2bc @ 1
[    3.266824] initcall sched_init_debug+0x0/0x2bc returned 0 after 27466 usecs
[    3.266837] calling  cpu_latency_qos_init+0x0/0x90 @ 1
[    3.266995] initcall cpu_latency_qos_init+0x0/0x90 returned 0 after 144 usecs
[    3.267004] calling  pm_debugfs_init+0x0/0x6c @ 1
[    3.267019] initcall pm_debugfs_init+0x0/0x6c returned 0 after 6 usecs
[    3.267028] calling  printk_late_init+0x0/0x1b8 @ 1
[    3.267050] initcall printk_late_init+0x0/0x1b8 returned 0 after 13 usecs
[    3.267059] calling  init_srcu_module_notifier+0x0/0x80 @ 1
[    3.267069] initcall init_srcu_module_notifier+0x0/0x80 returned 0 after 1 usecs
[    3.267080] calling  swiotlb_create_default_debugfs+0x0/0xc0 @ 1
[    3.267094] initcall swiotlb_create_default_debugfs+0x0/0xc0 returned 0 after 6 usecs
[    3.267102] calling  tk_debug_sleep_time_init+0x0/0x6c @ 1
[    3.267115] initcall tk_debug_sleep_time_init+0x0/0x6c returned 0 after 6 usecs
[    3.267123] calling  debugfs_kprobe_init+0x0/0xd4 @ 1
[    3.267154] initcall debugfs_kprobe_init+0x0/0xd4 returned 0 after 22 usecs
[    3.267163] calling  taskstats_init+0x0/0x8c @ 1
[    3.267187] registered taskstats version 1
[    3.267206] initcall taskstats_init+0x0/0x8c returned 0 after 36 usecs
[    3.267214] calling  init_hwlat_tracer+0x0/0x1b0 @ 1
[    3.277514] initcall init_hwlat_tracer+0x0/0x1b0 returned 0 after 10050 usecs
[    3.277519] calling  kdb_ftrace_register+0x0/0x44 @ 1
[    3.277527] initcall kdb_ftrace_register+0x0/0x44 returned 0 after 3 usecs
[    3.277531] calling  bpf_map_iter_init+0x0/0x78 @ 1
[    3.277541] initcall bpf_map_iter_init+0x0/0x78 returned 0 after 5 usecs
[    3.277545] calling  task_iter_init+0x0/0x1a0 @ 1
[    3.277564] initcall task_iter_init+0x0/0x1a0 returned 0 after 13 usecs
[    3.277568] calling  bpf_prog_iter_init+0x0/0x5c @ 1
[    3.277573] initcall bpf_prog_iter_init+0x0/0x5c returned 0 after 1 usecs
[    3.277578] calling  load_system_certificate_list+0x0/0x78 @ 1
[    3.277583] Loading compiled-in X.509 certificates
[    3.279583] Loaded X.509 cert 'Build time autogenerated kernel key: 30919c1945f1dbf72f4ecf4566fccdb810cebee7'
[    3.279606] initcall load_system_certificate_list+0x0/0x78 returned 0 after 1975 usecs
[    3.279612] calling  fault_around_debugfs+0x0/0x6c @ 1
[    3.279620] initcall fault_around_debugfs+0x0/0x6c returned 0 after 4 usecs
[    3.279623] calling  max_swapfiles_check+0x0/0x48 @ 1
[    3.279627] initcall max_swapfiles_check+0x0/0x48 returned 0 after 0 usecs
[    3.279631] calling  init_zswap+0x0/0x278 @ 1
[    3.283367] zswap: loaded using pool lzo/zbud
[    3.283675] initcall init_zswap+0x0/0x278 returned 0 after 3946 usecs
[    3.283680] calling  migrate_on_reclaim_init+0x0/0xf4 @ 1
[    3.294393] initcall migrate_on_reclaim_init+0x0/0xf4 returned 0 after 10457 usecs
[    3.294398] calling  split_huge_pages_debugfs+0x0/0x6c @ 1
[    3.294423] initcall split_huge_pages_debugfs+0x0/0x6c returned 0 after 21 usecs
[    3.294427] calling  kmemleak_late_init+0x0/0xf8 @ 1
[    3.294463] kmemleak: Kernel memory leak detector initialized (mem pool available: 5746)
[    3.294465] kmemleak: Automatic memory scanning thread started
[    3.294481] initcall kmemleak_late_init+0x0/0xf8 returned 0 after 49 usecs
[    3.294495] calling  check_early_ioremap_leak+0x0/0xac @ 1
[    3.294498] initcall check_early_ioremap_leak+0x0/0xac returned 0 after 0 usecs
[    3.294503] calling  set_hardened_usercopy+0x0/0x90 @ 1
[    3.294509] initcall set_hardened_usercopy+0x0/0x90 returned 1 after 0 usecs
[    3.294515] calling  fscrypt_init+0x0/0x108 @ 1
[    3.295144] Key type ._fscrypt registered
[    3.295155] Key type .fscrypt registered
[    3.295165] Key type fscrypt-provisioning registered
[    3.295176] initcall fscrypt_init+0x0/0x108 returned 0 after 639 usecs
[    3.295180] calling  init_btrfs_fs+0x0/0x1f8 @ 1
[    3.296876] Btrfs loaded, crc32c=crc32c-generic, zoned=yes, fsverity=no
[    3.296891] initcall init_btrfs_fs+0x0/0x1f8 returned 0 after 1668 usecs
[    3.296895] calling  pstore_init+0x0/0xf4 @ 1
[    3.297037] pstore: Using crash dump compression: deflate
[    3.297051] initcall pstore_init+0x0/0xf4 returned 0 after 150 usecs
[    3.297054] calling  init_root_keyring+0x0/0x4c @ 1
[    3.297073] initcall init_root_keyring+0x0/0x4c returned 0 after 15 usecs
[    3.297076] calling  crypto_algapi_init+0x0/0x54 @ 1
[    3.298602] initcall crypto_algapi_init+0x0/0x54 returned 0 after 1486 usecs
[    3.298606] calling  blk_timeout_init+0x0/0x54 @ 1
[    3.298609] initcall blk_timeout_init+0x0/0x54 returned 0 after 0 usecs
[    3.298612] calling  prandom_init_late+0x0/0x6c @ 1
[    3.298618] initcall prandom_init_late+0x0/0x6c returned 0 after 1 usecs
[    3.298621] calling  init_error_injection+0x0/0x6c @ 1
[    3.299011] initcall init_error_injection+0x0/0x6c returned 0 after 377 usecs
[    3.299014] calling  pci_resource_alignment_sysfs_init+0x0/0x5c @ 1
[    3.299022] initcall pci_resource_alignment_sysfs_init+0x0/0x5c returned 0 after 3 usecs
[    3.299026] calling  pci_sysfs_init+0x0/0xf4 @ 1
[    3.299196] initcall pci_sysfs_init+0x0/0xf4 returned 0 after 163 usecs
[    3.299200] calling  sync_state_resume_initcall+0x0/0x50 @ 1
[    3.299205] initcall sync_state_resume_initcall+0x0/0x50 returned 0 after 0 usecs
[    3.299208] calling  deferred_probe_initcall+0x0/0x230 @ 1
[    3.299228] initcall deferred_probe_initcall+0x0/0x230 returned 0 after 16 usecs
[    3.299232] calling  sync_debugfs_init+0x0/0xb4 @ 1
[    3.299244] initcall sync_debugfs_init+0x0/0xb4 returned 0 after 7 usecs
[    3.299247] calling  charger_manager_init+0x0/0xe4 @ 1
[    3.299333] initcall charger_manager_init+0x0/0xe4 returned 0 after 80 usecs
[    3.299382] calling  of_fdt_raw_init+0x0/0xec @ 1
[    3.299520] initcall of_fdt_raw_init+0x0/0xec returned 0 after 131 usecs
[    3.299523] calling  bpf_sockmap_iter_init+0x0/0x64 @ 1
[    3.299528] initcall bpf_sockmap_iter_init+0x0/0x64 returned 0 after 1 usecs
[    3.299531] calling  bpf_sk_storage_map_iter_init+0x0/0x64 @ 1
[    3.299535] initcall bpf_sk_storage_map_iter_init+0x0/0x64 returned 0 after 0 usecs
[    3.299539] calling  tcp_congestion_default+0x0/0x54 @ 1
[    3.299543] initcall tcp_congestion_default+0x0/0x54 returned 0 after 0 usecs
[    3.299546] calling  tcp_bpf_v4_build_proto+0x0/0x10c @ 1
[    3.299551] initcall tcp_bpf_v4_build_proto+0x0/0x10c returned 0 after 0 usecs
[    3.299554] calling  udp_bpf_v4_build_proto+0x0/0x9c @ 1
[    3.299558] initcall udp_bpf_v4_build_proto+0x0/0x9c returned 0 after 0 usecs
[    3.299562] calling  latency_fsnotify_init+0x0/0x78 @ 1
[    3.299588] initcall latency_fsnotify_init+0x0/0x78 returned 0 after 22 usecs
[    3.299592] calling  trace_eval_sync+0x0/0x4c @ 1
[    3.299601] initcall trace_eval_sync+0x0/0x4c returned 0 after 5 usecs
[    3.299605] calling  late_trace_init+0x0/0xa4 @ 1
[    3.299608] initcall late_trace_init+0x0/0xa4 returned 0 after 0 usecs
[    3.299612] calling  regulator_init_complete+0x0/0x90 @ 1
[    3.299617] initcall regulator_init_complete+0x0/0x90 returned 0 after 1 usecs
[    3.303880]  sda: sda1 sda2
[    3.339440] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    3.579432] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[    3.579460] md: Waiting for all devices to be available before autodetect
[    3.579475] md: If you don't use raid, use raid=noautodetect
[    3.579487] md: Autodetecting RAID arrays.
[    3.579496] md: autorun ...
[    3.579503] md: ... autorun DONE.
[    3.579601] squashfs: Unknown parameter 'subvol'
[    3.580486] fuseblk: Unknown parameter 'subvol'
[    3.598999] BTRFS: device label root devid 1 transid 4077577 /dev/root scanned by swapper/0 (1)
[    3.603510] BTRFS info (device sda2): disk space caching is enabled
[    3.603525] BTRFS info (device sda2): has skinny extents
[    8.235642] VFS: Mounted root (btrfs filesystem) readonly on device 0:20.
[    8.244215] devtmpfs: mounted
[    8.244734] Freeing unused kernel image (initmem) memory: 6656K
[    8.244756] Kernel memory protection not selected by kernel config.
[    8.244892] Run /sbin/init as init process
[    8.244901]   with arguments:
[    8.244904]     /sbin/init
[    8.244905]   with environment:
[    8.244906]     HOME=/
[    8.244908]     TERM=linux
[    9.320640] calling  init_module+0x0/0x84 [autofs4] @ 1
[    9.320713] initcall init_module+0x0/0x84 [autofs4] returned 0 after 61 usecs
[    9.320736] systemd[1]: Inserted module 'autofs4'
[    9.329082] calling  init_module+0x0/0x238 [x_tables] @ 1
[    9.329097] initcall init_module+0x0/0x238 [x_tables] returned 0 after 7 usecs
[    9.338804] calling  init_module+0x0/0x124 [ip_tables] @ 1
[    9.338818] initcall init_module+0x0/0x124 [ip_tables] returned 0 after 9 usecs
[    9.407704] systemd[1]: systemd 248.3-1ubuntu8.2 running in system mode. (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS -OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP -LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    9.410566] systemd[1]: Detected architecture ppc64-le.
[    9.435846] systemd[1]: Hostname set to <flughafenberlinbrandenburgwillybrandt.molgen.mpg.de>.
[    9.576056] systemd-gpt-auto-generator[1292]: File system behind root file system is reported by btrfs to be backed by pseudo-device /dev/root, which is not a valid userspace accessible device node. Cannot determine correct backing block device.
[   10.876853] systemd[1277]: /usr/lib/systemd/system-generators/systemd-gpt-auto-generator failed with exit status 1.
[   11.335661] systemd[1]: /etc/systemd/system/network.service:14: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[   11.338199] systemd[1]: /etc/systemd/system/docker.service:26: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[   11.477509] systemd[1]: /lib/systemd/system/rtas_errd.service:12: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[   11.477726] systemd[1]: /lib/systemd/system/rtas_errd.service:13: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[   11.489616] systemd[1]: /lib/systemd/system/opal_errd.service:10: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[   11.489784] systemd[1]: /lib/systemd/system/opal_errd.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[   11.507902] systemd[1]: /etc/systemd/system/clusterd.service:8: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[   11.512383] systemd[1]: Queued start job for default target Multi-User System.
[   11.587910] systemd[1]: Created slice Virtual Machine and Container Slice.
[   11.594129] systemd[1]: Created slice system-modprobe.slice.
[   11.598023] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   11.601281] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[   11.604286] systemd[1]: Created slice User and Session Slice.
[   11.604666] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[   11.604964] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[   11.605133] systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped.
[   11.605197] systemd[1]: Reached target Local Encrypted Volumes.
[   11.605485] systemd[1]: Reached target Slices.
[   11.605578] systemd[1]: Reached target Swap.
[   11.605802] systemd[1]: Reached target Local Verity Integrity Protected Volumes.
[   11.605907] systemd[1]: Reached target Libvirt guests shutdown.
[   11.606240] systemd[1]: Listening on Device-mapper event daemon FIFOs.
[   11.614009] systemd[1]: Listening on RPCbind Server Activation Socket.
[   11.614328] systemd[1]: Listening on Syslog Socket.
[   11.614571] systemd[1]: Listening on fsck to fsckd communication Socket.
[   11.614727] systemd[1]: Listening on initctl Compatibility Named Pipe.
[   11.615104] systemd[1]: Listening on Journal Audit Socket.
[   11.615306] systemd[1]: Listening on Journal Socket (/dev/log).
[   11.615688] systemd[1]: Listening on Journal Socket.
[   11.615967] systemd[1]: Listening on Network Service Netlink Socket.
[   11.616315] systemd[1]: Listening on udev Control Socket.
[   11.616522] systemd[1]: Listening on udev Kernel Socket.
[   11.620207] systemd[1]: Mounting Huge Pages File System...
[   11.624602] systemd[1]: Mounting POSIX Message Queue File System...
[   11.628890] systemd[1]: Mounting Proc NFSD mountpoint...
[   11.632302] systemd[1]: Mounting RPC Pipe File System...
[   11.635719] systemd[1]: Mounting Kernel Debug File System...
[   11.639254] systemd[1]: Mounting Kernel Trace File System...
[   11.646625] systemd[1]: Starting Journal Service...
[   11.646820] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[   11.651592] systemd[1]: Starting Set the console keyboard layout...
[   11.657989] systemd[1]: Starting Create list of static device nodes for the current kernel...
[   11.662158] systemd[1]: Starting Load Kernel Module configfs...
[   11.664977] systemd[1]: Starting Load Kernel Module drm...
[   11.667867] systemd[1]: Starting Load Kernel Module fuse...
[   11.668016] systemd[1]: Condition check resulted in OpenVSwitch configuration for cleanup being skipped.
[   11.668326] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[   11.671956] systemd[1]: Starting File System Check on Root Device...
[   11.676611] systemd[1]: Starting Load Kernel Modules...
[   11.682830] systemd[1]: Starting Coldplug All udev Devices...
[   11.687253] systemd[1]: Starting Uncomplicated firewall...
[   11.690028] systemd[1]: Mounted Huge Pages File System.
[   11.690245] systemd[1]: Mounted POSIX Message Queue File System.
[   11.690437] systemd[1]: Mounted Kernel Debug File System.
[   11.690621] systemd[1]: Mounted Kernel Trace File System.
[   11.691274] systemd[1]: Finished Create list of static device nodes for the current kernel.
[   11.691755] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[   11.692152] systemd[1]: Finished Load Kernel Module configfs.
[   11.692606] systemd[1]: modprobe@drm.service: Deactivated successfully.
[   11.693009] systemd[1]: Finished Load Kernel Module drm.
[   11.693445] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[   11.693836] systemd[1]: Finished Load Kernel Module fuse.
[   11.697600] systemd[1]: Mounting FUSE Control File System...
[   11.701959] systemd[1]: Mounting Kernel Configuration File System...
[   11.703534] systemd[1]: Finished File System Check on Root Device.
[   11.704232] systemd[1]: Mounted FUSE Control File System.
[   11.704417] systemd[1]: Mounted Kernel Configuration File System.
[   11.707972] systemd[1]: Starting Remount Root and Kernel File Systems...
[   11.746089] calling  init_module+0x0/0xb0 [parport] @ 1330
[   11.746133] initcall init_module+0x0/0xb0 [parport] returned 0 after 31 usecs
[   11.761414] calling  init_module+0x0/0x12c [sunrpc] @ 1316
[   11.761939] RPC: Registered named UNIX socket transport module.
[   11.761963] RPC: Registered udp transport module.
[   11.761974] RPC: Registered tcp transport module.
[   11.761984] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   11.761997] initcall init_module+0x0/0x12c [sunrpc] returned 0 after 521 usecs
[   11.763972] systemd[1]: Mounted RPC Pipe File System.
[   11.768960] systemd[1]: Starting pNFS block layout mapping daemon...
[   11.832320] calling  init_module+0x0/0x5c [grace] @ 1316
[   11.832327] initcall init_module+0x0/0x5c [grace] returned 0 after 2 usecs
[   11.834663] calling  init_module+0x0/0x1a4 [lp] @ 1330
[   11.836169] lp: driver loaded but no devices found
[   11.836187] initcall init_module+0x0/0x1a4 [lp] returned 0 after 1482 usecs
[   11.840889] calling  init_module+0x0/0xe8 [lockd] @ 1316
[   11.840911] initcall init_module+0x0/0xe8 [lockd] returned 0 after 12 usecs
[   11.842375] calling  init_module+0x0/0x168 [ppdev] @ 1330
[   11.843817] ppdev: user-space parallel port driver
[   11.843829] initcall init_module+0x0/0x168 [ppdev] returned 0 after 1415 usecs
[   11.858034] calling  init_module+0x0/0x17c [parport_pc] @ 1330
[   11.858249] initcall init_module+0x0/0x17c [parport_pc] returned 0 after 204 usecs
[   11.872987] calling  init_module+0x0/0xe4 [auth_rpcgss] @ 1316
[   11.873020] initcall init_module+0x0/0xe4 [auth_rpcgss] returned 0 after 18 usecs
[   11.874166] systemd[1]: Started Journal Service.
[   11.942407] calling  init_module+0x0/0x1a4 [nfsd] @ 1316
[   11.942443] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[   11.954509] initcall init_module+0x0/0x1a4 [nfsd] returned 0 after 11784 usecs
[   12.124725] calling  init_module+0x0/0x5c [sch_fq_codel] @ 1360
[   12.124735] initcall init_module+0x0/0x5c [sch_fq_codel] returned 0 after 1 usecs
[   12.227113] BTRFS info (device sda2): disk space caching is enabled
[   12.499552] systemd-journald[1319]: Received client request to flush runtime journal.
[   14.375703] systemd-journald[1319]: File /var/log/journal/11882866fe9241ad9ffe6ba0e37fae72/system.journal corrupted or uncleanly shut down, renaming and replacing.
[   16.088377] calling  init_module+0x0/0x80 [crc32c_vpmsum] @ 1481
[   16.088492] initcall init_module+0x0/0x80 [crc32c_vpmsum] returned 0 after 94 usecs
[   16.134304] calling  init_module+0x0/0x80 [crct10dif_vpmsum] @ 1463
[   16.137962] initcall init_module+0x0/0x80 [crct10dif_vpmsum] returned 0 after 3541 usecs
[   16.156918] calling  init_module+0x0/0x7c [vmx_crypto] @ 1582
[   16.162965] initcall init_module+0x0/0x7c [vmx_crypto] returned 0 after 5872 usecs
[   16.221629] calling  init_module+0x0/0x64 [opal_prd] @ 1424
[   16.222002] initcall init_module+0x0/0x64 [opal_prd] returned 0 after 336 usecs
[   16.231126] calling  init_module+0x0/0x64 [ibmpowernv] @ 1429
[   16.234218] initcall init_module+0x0/0x64 [ibmpowernv] returned 0 after 3011 usecs
[   16.236914] calling  init_module+0x0/0x3124 [ipmi_msghandler] @ 1426
[   16.236925] IPMI message handler: version 39.2
[   16.236963] initcall init_module+0x0/0x3124 [ipmi_msghandler] returned 0 after 37 usecs
[   16.238680] calling  init_module+0x0/0x80 [rtc_opal] @ 1428
[   16.249168] calling  init_module+0x0/0x1b4 [ipmi_devintf] @ 1426
[   16.249174] ipmi device interface
[   16.249568] initcall init_module+0x0/0x1b4 [ipmi_devintf] returned 0 after 385 usecs
[   16.254368] calling  init_module+0x0/0x198 [mtd] @ 1425
[   16.255746] rtc-opal opal-rtc: registered as rtc0
[   16.256378] calling  init_module+0x0/0x1bc [uio] @ 1409
[   16.256408] initcall init_module+0x0/0x1bc [uio] returned 0 after 22 usecs
[   16.256581] initcall init_module+0x0/0x198 [mtd] returned 0 after 190 usecs
[   16.259236] calling  init_module+0x0/0x64 [ipmi_powernv] @ 1426
[   16.259277] ipmi-powernv ibm,opal:ipmi: Unable to map irq from device tree
[   16.262636] calling  init_module+0x0/0x64 [uio_pdrv_genirq] @ 1416
[   16.262703] initcall init_module+0x0/0x64 [uio_pdrv_genirq] returned 0 after 59 usecs
[   16.263796] ipmi-powernv ibm,opal:ipmi: IPMI message handler: Found new BMC (man_id: 0x000000, prod_id: 0xaabb, dev_id: 0x20)
[   16.264981] calling  init_module+0x0/0x64 [powernv_rng] @ 1421
[   16.265080] powernv_rng: Registered powernv hwrng.
[   16.265301] initcall init_module+0x0/0x64 [powernv_rng] returned 0 after 306 usecs
[   16.275496] rtc-opal opal-rtc: setting system clock to 2022-01-29T17:26:26 UTC (1643477186)
[   16.278194] initcall init_module+0x0/0x80 [rtc_opal] returned 0 after 12897 usecs
[   16.314098] calling  init_module+0x0/0x64 [powernv_flash] @ 1425
[   16.329150] initcall init_module+0x0/0x64 [ipmi_powernv] returned 0 after 14659 usecs
[   16.331534] calling  init_module+0x0/0xe0 [at24] @ 1389
[   16.332147] at24 0-0051: supply vcc not found, using dummy regulator
[   16.350555] calling  init_module+0x0/0x174 [bnx2x] @ 1622
[   16.350820] bnx2x 0001:01:00.0: msix capability found
[   16.364811] at24 0-0051: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   16.364959] at24 0-0052: supply vcc not found, using dummy regulator
[   16.365564] at24 0-0052: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   16.365631] at24 0-0053: supply vcc not found, using dummy regulator
[   16.366243] at24 0-0053: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   16.366330] at24 0-0054: supply vcc not found, using dummy regulator
[   16.366951] at24 0-0054: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   16.367011] at24 0-0055: supply vcc not found, using dummy regulator
[   16.367544] at24 0-0055: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   16.367718] bnx2x 0001:01:00.0: enabling device (0140 -> 0142)
[   16.367755] at24 1-0050: supply vcc not found, using dummy regulator
[   16.367858] bnx2x 0001:01:00.0: part number 0-0-0-0
[   16.376855] calling  init_module+0x0/0x88 [cmdlinepart] @ 1790
[   16.376863] initcall init_module+0x0/0x88 [cmdlinepart] returned 0 after 1 usecs
[   16.406434] calling  init_module+0x0/0x88 [ofpart] @ 1806
[   16.406449] initcall init_module+0x0/0x88 [ofpart] returned 0 after 1 usecs
[   16.413675] initcall init_module+0x0/0x64 [powernv_flash] returned 0 after 7057 usecs
[   16.416643] bnx2x 0001:01:00.0: Direct firmware load for bnx2x/bnx2x-e2-7.13.21.0.fw failed with error -2
[   16.527630] calling  init_module+0x0/0x54 [drm_kms_helper] @ 1450
[   16.527873] initcall init_module+0x0/0x54 [drm_kms_helper] returned 0 after 202 usecs
[   16.632092] bnx2x 0001:01:00.0: 32.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x8 link)
[   16.632451] bnx2x 0001:01:00.1: msix capability found
[   16.655373] bnx2x 0001:01:00.1: enabling device (0140 -> 0142)
[   16.655532] bnx2x 0001:01:00.1: part number 0-0-0-0
[   16.682883] bnx2x 0001:01:00.1: Direct firmware load for bnx2x/bnx2x-e2-7.13.21.0.fw failed with error -2
[   16.708186] calling  init_module+0x0/0xa0 [ast] @ 1450
[   16.708558] ast 0021:10:00.0: enabling device (0141 -> 0143)
[   16.718557] ast 0021:10:00.0: [drm] platform has no IO space, trying MMIO
[   16.718575] ast 0021:10:00.0: [drm] Using P2A bridge for configuration
[   16.718582] ast 0021:10:00.0: [drm] AST 2400 detected
[   16.718590] ast 0021:10:00.0: [drm] Analog VGA only
[   16.718599] ast 0021:10:00.0: [drm] dram MCLK=408 Mhz type=7 bus_width=16
[   16.730324] [drm] Initialized ast 0.1.0 20120228 for 0021:10:00.0 on minor 0
[   16.730729] initcall init_module+0x0/0xa0 [ast] returned 0 after 22007 usecs
[   16.783336] bnx2x 0001:01:00.1: 32.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x8 link)
[   16.783693] bnx2x 0001:01:00.2: msix capability found
[   16.803373] bnx2x 0001:01:00.2: enabling device (0140 -> 0142)
[   16.803643] bnx2x 0001:01:00.2: part number 0-0-0-0
[   16.831688] bnx2x 0001:01:00.2: Direct firmware load for bnx2x/bnx2x-e2-7.13.21.0.fw failed with error -2
[   16.922128] at24 1-0050: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   16.922865] at24 1-0052: supply vcc not found, using dummy regulator
[   16.925340] at24 1-0052: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   16.926019] at24 1-0053: supply vcc not found, using dummy regulator
[   16.928905] at24 1-0053: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   16.929699] at24 1-0054: supply vcc not found, using dummy regulator
[   16.935039] at24 1-0054: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   16.936022] at24 1-0055: supply vcc not found, using dummy regulator
[   16.938419] at24 1-0055: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   16.938634] at24 2-0052: supply vcc not found, using dummy regulator
[   16.947167] bnx2x 0001:01:00.2: 32.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x8 link)
[   16.947302] bnx2x 0001:01:00.3: msix capability found
[   16.971369] bnx2x 0001:01:00.3: enabling device (0140 -> 0142)
[   16.971489] bnx2x 0001:01:00.3: part number 0-0-0-0
[   16.995735] bnx2x 0001:01:00.3: Direct firmware load for bnx2x/bnx2x-e2-7.13.21.0.fw failed with error -2
[   17.048286] bnx2x 0001:01:00.3: 32.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x8 link)
[   17.048404] initcall init_module+0x0/0x174 [bnx2x] returned 0 after 332235 usecs
[   17.051064] bnx2x 0001:01:00.0 enP1p1s0f0: renamed from eth0
[   17.115981] bnx2x 0001:01:00.1 enP1p1s0f1: renamed from eth1
[   17.159637] bnx2x 0001:01:00.3 enP1p1s0f3: renamed from eth3
[   17.207562] bnx2x 0001:01:00.2 enP1p1s0f2: renamed from eth2
[   17.583211] BTRFS info (device sda2): devid 1 device path /dev/root changed to /dev/sda2 scanned by systemd-udevd (2215)
[   17.750533] at24 2-0052: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.751712] at24 2-0053: supply vcc not found, using dummy regulator
[   17.757080] at24 2-0053: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.758327] at24 2-0054: supply vcc not found, using dummy regulator
[   17.764166] at24 2-0054: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.765424] at24 2-0055: supply vcc not found, using dummy regulator
[   17.769264] at24 2-0055: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.770154] at24 2-0056: supply vcc not found, using dummy regulator
[   17.773443] at24 2-0056: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   17.774182] at24 3-0052: supply vcc not found, using dummy regulator
[   17.824511] at24 3-0052: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.824581] at24 3-0053: supply vcc not found, using dummy regulator
[   17.825072] at24 3-0053: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.825126] at24 3-0054: supply vcc not found, using dummy regulator
[   17.825601] at24 3-0054: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.825658] at24 3-0055: supply vcc not found, using dummy regulator
[   17.826130] at24 3-0055: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.826181] at24 3-0057: supply vcc not found, using dummy regulator
[   17.826694] at24 3-0057: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   17.826750] at24 4-0051: supply vcc not found, using dummy regulator
[   17.858110] at24 4-0051: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   17.858174] at24 4-0052: supply vcc not found, using dummy regulator
[   17.858687] at24 4-0052: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.858759] at24 4-0053: supply vcc not found, using dummy regulator
[   17.859291] at24 4-0053: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.859377] at24 4-0054: supply vcc not found, using dummy regulator
[   17.859893] at24 4-0054: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.859968] at24 4-0055: supply vcc not found, using dummy regulator
[   17.860457] at24 4-0055: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.860523] at24 5-0050: supply vcc not found, using dummy regulator
[   17.931125] at24 5-0050: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   17.931201] at24 5-0052: supply vcc not found, using dummy regulator
[   17.931737] at24 5-0052: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.931807] at24 5-0053: supply vcc not found, using dummy regulator
[   17.932314] at24 5-0053: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.932380] at24 5-0054: supply vcc not found, using dummy regulator
[   17.932859] at24 5-0054: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.932923] at24 5-0055: supply vcc not found, using dummy regulator
[   17.933440] at24 5-0055: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.933500] at24 6-0052: supply vcc not found, using dummy regulator
[   17.974199] at24 6-0052: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.974259] at24 6-0053: supply vcc not found, using dummy regulator
[   17.974844] at24 6-0053: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.974940] at24 6-0054: supply vcc not found, using dummy regulator
[   17.975518] at24 6-0054: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.975635] at24 6-0055: supply vcc not found, using dummy regulator
[   17.976220] at24 6-0055: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   17.976324] at24 6-0056: supply vcc not found, using dummy regulator
[   17.976975] at24 6-0056: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   17.977047] at24 7-0052: supply vcc not found, using dummy regulator
[   18.008106] at24 7-0052: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   18.008213] at24 7-0053: supply vcc not found, using dummy regulator
[   18.008772] at24 7-0053: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   18.008845] at24 7-0054: supply vcc not found, using dummy regulator
[   18.009390] at24 7-0054: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   18.009458] at24 7-0055: supply vcc not found, using dummy regulator
[   18.009984] at24 7-0055: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[   18.010072] at24 7-0057: supply vcc not found, using dummy regulator
[   18.010693] at24 7-0057: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.010757] at24 8-0050: supply vcc not found, using dummy regulator
[   18.010970] at24 8-0050: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.011049] at24 8-0051: supply vcc not found, using dummy regulator
[   18.011300] at24 8-0051: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.011386] at24 9-0050: supply vcc not found, using dummy regulator
[   18.011669] at24 9-0050: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.011734] at24 9-0051: supply vcc not found, using dummy regulator
[   18.011988] at24 9-0051: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.012048] at24 10-0050: supply vcc not found, using dummy regulator
[   18.012348] at24 10-0050: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.012405] at24 11-0050: supply vcc not found, using dummy regulator
[   18.012675] at24 11-0050: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.012742] at24 11-0051: supply vcc not found, using dummy regulator
[   18.012948] at24 11-0051: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.013023] at24 12-0050: supply vcc not found, using dummy regulator
[   18.013235] at24 12-0050: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.013312] at24 12-0051: supply vcc not found, using dummy regulator
[   18.013550] at24 12-0051: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[   18.013628] initcall init_module+0x0/0xe0 [at24] returned 0 after 1274838 usecs
[   18.296520] bnx2x 0001:01:00.0 enP1p1s0f0: using MSI-X  IRQs: sp 40  fp[0] 42 ... fp[7] 49
[   18.379115] calling  init_module+0x0/0x110 [kvm] @ 2818
[   18.380793] initcall init_module+0x0/0x110 [kvm] returned 0 after 1611 usecs
[   18.462397] calling  init_module+0x0/0x4b0 [kvm_hv] @ 2818
[   18.462500] initcall init_module+0x0/0x4b0 [kvm_hv] returned 0 after 86 usecs
[   18.511369] bnx2x 0001:01:00.0 enP1p1s0f0: NIC Link is Up, 10000 Mbps full duplex, Flow control: ON - receive & transmit
[   18.628741] Process accounting resumed
[   20.233819] calling  init_module+0x0/0xec [overlay] @ 2895
[   20.234088] initcall init_module+0x0/0xec [overlay] returned 0 after 247 usecs
[   20.517506] calling  init_module+0x0/0x218 [xfs] @ 2906
[   20.517614] SGI XFS with ACLs, security attributes, realtime, quota, no debug enabled
[   20.569368] initcall init_module+0x0/0x218 [xfs] returned 0 after 50543 usecs
[   20.574544] XFS (sdb): Mounting V5 Filesystem
[   20.702220] XFS (sdb): Starting recovery (logdev: internal)
[   20.759889] XFS (sdb): Ending recovery (logdev: internal)
[   20.761496] xfs filesystem being mounted at /amd/flughafenberlinbrandenburgwillybrandt/0 supports timestamps until 2038 (0x7fffffff)
[   22.178817] NFSD: Using UMH upcall client tracking operations.
[   22.178825] NFSD: starting 90-second grace period (net f000001f)
[   23.169553] calling  init_module+0x0/0x70 [llc] @ 3150
[   23.169565] initcall init_module+0x0/0x70 [llc] returned 0 after 1 usecs
[   23.214993] calling  init_module+0x0/0x1b8 [bridge] @ 3150
[   23.215031] initcall init_module+0x0/0x1b8 [bridge] returned 0 after 21 usecs
[   23.501824] calling  init_module+0x0/0xc0 [nfnetlink] @ 3161
[   23.501847] initcall init_module+0x0/0xc0 [nfnetlink] returned 0 after 11 usecs
[   23.520018] calling  init_module+0x0/0x1b8 [nf_tables] @ 3162
[   23.520053] initcall init_module+0x0/0x1b8 [nf_tables] returned 0 after 18 usecs
[24351.966522] perf: interrupt took too long (2506 > 2500), lowering kernel.perf_event_max_sample_rate to 79750
[27236.245893] calling  init_module+0x0/0x274 [nfs] @ 426994
[27236.247757] initcall init_module+0x0/0x274 [nfs] returned 0 after 1781 usecs
[27236.487126] calling  init_module+0x0/0xc0 [nfsv4] @ 426997
[27236.487177] NFS: Registering the id_resolver key type
[27236.487196] Key type id_resolver registered
[27236.487198] Key type id_legacy registered
[27236.488058] initcall init_module+0x0/0xc0 [nfsv4] returned 0 after 862 usecs
[27328.334680] perf: interrupt took too long (3243 > 3132), lowering kernel.perf_event_max_sample_rate to 61500
[53443.471612] perf: interrupt took too long (4075 > 4053), lowering kernel.perf_event_max_sample_rate to 49000
[79189.632027] Can't find PMC that caused IRQ
[231271.048007] Can't find PMC that caused IRQ
[271272.030262] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271272.305726] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271272.549790] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271274.885167] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271275.113896] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271275.412902] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271275.625245] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271275.833107] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271276.041391] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[271277.244880] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!
[276709.555859] hrtimer: interrupt took 1031 ns

^ permalink raw reply

* Re: [PATCH V5 00/21] riscv: compat: Add COMPAT mode support for rv64
From: Guo Ren @ 2022-02-08  7:43 UTC (permalink / raw)
  To: Guo Ren, Palmer Dabbelt, Arnd Bergmann, Anup Patel,
	Greg Kroah-Hartman, liush, Wei Fu, Drew Fustini, Wang Junqiang,
	Christoph Hellwig
  Cc: linux-arch, linux-s390, Guo Ren, Parisc List,
	the arch/x86 maintainers, Linux Kernel Mailing List, linux-csky,
	open list:BROADCOM NVRAM DRIVER, sparclinux, linux-riscv,
	linuxppc-dev, Linux ARM
In-Reply-To: <20220201150545.1512822-1-guoren@kernel.org>

On Tue, Feb 1, 2022 at 11:06 PM <guoren@kernel.org> wrote:
>
> From: Guo Ren <guoren@linux.alibaba.com>
>
> Currently, most 64-bit architectures (x86, parisc, powerpc, arm64,
> s390, mips, sparc) have supported COMPAT mode. But they all have
> history issues and can't use standard linux unistd.h. RISC-V would
> be first standard __SYSCALL_COMPAT user of include/uapi/asm-generic
> /unistd.h.
>
> The patchset are based on v5.17-rc2, you can compare rv64-compat32
> v.s. rv32-whole in qemu with following step:
>
>  - Prepare rv32 rootfs & fw_jump.bin by buildroot.org
>    $ git clone git://git.busybox.net/buildroot
>    $ cd buildroot
>    $ make qemu_riscv32_virt_defconfig O=qemu_riscv32_virt_defconfig
>    $ make -C qemu_riscv32_virt_defconfig
>    $ make qemu_riscv64_virt_defconfig O=qemu_riscv64_virt_defconfig
>    $ make -C qemu_riscv64_virt_defconfig
>    (Got fw_jump.bin & rootfs.ext2 in qemu_riscvXX_virt_defconfig/images)
>
>  - Prepare Linux rv32 & rv64 Image
>    $ git clone git@github.com:c-sky/csky-linux.git -b riscv_compat_v5 linux
>    $ cd linux
>    $ echo "CONFIG_STRICT_KERNEL_RWX=n" >> arch/riscv/configs/defconfig
>    $ echo "CONFIG_STRICT_MODULE_RWX=n" >> arch/riscv/configs/defconfig
>    $ make ARCH=riscv CROSS_COMPILE=riscv32-buildroot-linux-gnu- O=../build-rv32/ rv32_defconfig
>    $ make ARCH=riscv CROSS_COMPILE=riscv32-buildroot-linux-gnu- O=../build-rv32/ Image
>    $ make ARCH=riscv CROSS_COMPILE=riscv64-buildroot-linux-gnu- O=../build-rv64/ defconfig
>    $ make ARCH=riscv CROSS_COMPILE=riscv64-buildroot-linux-gnu- O=../build-rv64/ Image
>
>  - Prepare Qemu: (made by LIU Zhiwei <zhiwei_liu@c-sky.com>)
>    $ git clone git@github.com:alistair23/qemu.git -b riscv-to-apply.for-upstream linux
>    $ cd qemu
>    $ ./configure --target-list="riscv64-softmmu riscv32-softmmu"
>    $ make
>
> Now let's compare rv32-compat with rv32-native memory footprint. Kernel with rv32 = rv64
> defconfig, rootfs, opensbi, Qemu are the same.
>
>  - Run rv64 with rv32 rootfs in compat mode:
>    $ ./build/qemu-system-riscv64 -cpu rv64,x-h=true -M virt -m 64m -nographic -bios qemu_riscv64_virt_defconfig/images/fw_jump.bin -kernel build-rv64/Image -drive file qemu_riscv32_virt_defconfig/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -append "rootwait root=/dev/vda ro console=ttyS0 earlycon=sbi" -netdev user,id=net0 -device virtio-net-device,netdev=net0

Fixup qemu cmdline (Remove x-h=true):
$ ./build/qemu-system-riscv64 -cpu rv64 -M virt -m 64m -nographic
-bios qemu_riscv64_virt_defconfig/images/fw_jump.bin -kernel
build-rv64/Image -drive file
qemu_riscv32_virt_defconfig/images/rootfs.ext2,format=raw,id=hd0
-device virtio-blk-device,drive=hd0 -append "rootwait root=/dev/vda ro
console=ttyS0 earlycon=sbi" -netdev user,id=net0 -device
virtio-net-device,netdev=net0

>
> QEMU emulator version 6.2.50 (v6.2.0-29-g196d7182c8)
> OpenSBI v0.9
> [    0.000000] Linux version 5.16.0-rc6-00017-g750f87086bdd-dirty (guoren@guoren-Z87-HD3) (riscv64-unknown-linux-gnu-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.37) #96 SMP Tue Dec 28 21:01:55 CST 2021
> [    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
> [    0.000000] Machine model: riscv-virtio,qemu
> [    0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
> [    0.000000] printk: bootconsole [sbi0] enabled
> [    0.000000] efi: UEFI not found.
> [    0.000000] Zone ranges:
> [    0.000000]   DMA32    [mem 0x0000000080200000-0x0000000083ffffff]
> [    0.000000]   Normal   empty
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x0000000080200000-0x0000000083ffffff]
> [    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x0000000083ffffff]
> [    0.000000] SBI specification v0.2 detected
> [    0.000000] SBI implementation ID=0x1 Version=0x9
> [    0.000000] SBI TIME extension detected
> [    0.000000] SBI IPI extension detected
> [    0.000000] SBI RFENCE extension detected
> [    0.000000] SBI v0.2 HSM extension detected
> [    0.000000] riscv: ISA extensions acdfhimsu
> [    0.000000] riscv: ELF capabilities acdfim
> [    0.000000] percpu: Embedded 17 pages/cpu s30696 r8192 d30744 u69632
> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 15655
> [    0.000000] Kernel command line: rootwait root=/dev/vda ro console=ttyS0 earlycon=sbi
> [    0.000000] Dentry cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
> [    0.000000] Inode-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]       fixmap : 0xffffffcefee00000 - 0xffffffceff000000   (2048 kB)
> [    0.000000]       pci io : 0xffffffceff000000 - 0xffffffcf00000000   (  16 MB)
> [    0.000000]      vmemmap : 0xffffffcf00000000 - 0xffffffcfffffffff   (4095 MB)
> [    0.000000]      vmalloc : 0xffffffd000000000 - 0xffffffdfffffffff   (65535 MB)
> [    0.000000]       lowmem : 0xffffffe000000000 - 0xffffffe003e00000   (  62 MB)
> [    0.000000]       kernel : 0xffffffff80000000 - 0xffffffffffffffff   (2047 MB)
> [    0.000000] Memory: 52788K/63488K available (6184K kernel code, 888K rwdata, 1917K rodata, 294K init, 297K bss, 10700K reserved, 0K cma-reserved)
> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> [    0.000000] rcu: Hierarchical RCU implementation.
> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
> [    0.000000] rcu:     RCU debug extended QS entry/exit.
> [    0.000000]  Tracing variant of Tasks RCU enabled.
> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
> [    0.000000] riscv-intc: 64 local interrupts mapped
> [    0.000000] plic: plic@c000000: mapped 53 interrupts with 1 handlers for 2 contexts.
> ...
> Welcome to Buildroot
> buildroot login: root
> # cat /proc/cpuinfo
> processor       : 0
> hart            : 0
> isa             : rv64imafdcsuh
> mmu             : sv48
>
> # file /bin/busybox
> /bin/busybox: setuid ELF 32-bit LSB shared object, UCB RISC-V, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv32-ilp32d.so.1, for GNU/Linux 5.15.0, stripped
> # ca[   78.386630] random: fast init done
> # cat /proc/meminfo
> MemTotal:          53076 kB
> MemFree:           40264 kB
> MemAvailable:      40244 kB
> Buffers:             236 kB
> Cached:             1560 kB
> SwapCached:            0 kB
> Active:             1700 kB
> Inactive:            516 kB
> Active(anon):         40 kB
> Inactive(anon):      424 kB
> Active(file):       1660 kB
> Inactive(file):       92 kB
> Unevictable:           0 kB
> Mlocked:               0 kB
> SwapTotal:             0 kB
> SwapFree:              0 kB
> Dirty:                 0 kB
> Writeback:             0 kB
> AnonPages:           444 kB
> Mapped:             1188 kB
> Shmem:                44 kB
> KReclaimable:        952 kB
> Slab:               5744 kB
> SReclaimable:        952 kB
> SUnreclaim:         4792 kB
> KernelStack:         624 kB
> PageTables:          156 kB
> NFS_Unstable:          0 kB
> Bounce:                0 kB
> WritebackTmp:          0 kB
> CommitLimit:       26536 kB
> Committed_AS:       1748 kB
> VmallocTotal:   67108863 kB
> VmallocUsed:         652 kB
> VmallocChunk:          0 kB
> Percpu:               80 kB
> #
>
>  - Run rv32 with rv32 rootfs:
>    $ ./build/qemu-system-riscv32 -cpu rv32,x-h=true -M virt -m 64m -nographic -bios qemu_riscv32_virt_defconfig/images/fw_jump.bin -kernel build-rv32/Image -drive file qemu_riscv32_virt_defconfig/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -append "rootwait root=/dev/vda ro console=ttyS0 earlycon=sbi" -netdev user,id=net0 -device virtio-net-device,netdev=net0

Fixup qemu cmdline (Remove x-h=true):
$ ./build/qemu-system-riscv32 -cpu rv32 -M virt -m 64m -nographic
-bios qemu_riscv32_virt_defconfig/images/fw_jump.bin -kernel
build-rv32/Image -drive file
qemu_riscv32_virt_defconfig/images/rootfs.ext2,format=raw,id=hd0
-device virtio-blk-device,drive=hd0 -append "rootwait root=/dev/vda ro
console=ttyS0 earlycon=sbi" -netdev user,id=net0 -device
virtio-net-device,netdev=net0

>
> QEMU emulator version 6.2.50 (v6.2.0-29-g196d7182c8)
> OpenSBI v0.9
> [    0.000000] Linux version 5.16.0-rc6-00017-g750f87086bdd-dirty (guoren@guoren-Z87-HD3) (riscv32-buildroot-linux-gnu-gcc.br_real (Buildroot 2021.11-201-g7600ca7960-dirty) 10.3.0, GNU ld (GNU Binutils) 2.36.1) #7 SMP Tue Dec 28 21:02:21 CST 2021
> [    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80400000
> [    0.000000] Machine model: riscv-virtio,qemu
> [    0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
> [    0.000000] printk: bootconsole [sbi0] enabled
> [    0.000000] efi: UEFI not found.
> [    0.000000] Zone ranges:
> [    0.000000]   Normal   [mem 0x0000000080400000-0x0000000083ffffff]
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x0000000080400000-0x0000000083ffffff]
> [    0.000000] Initmem setup node 0 [mem 0x0000000080400000-0x0000000083ffffff]
> [    0.000000] SBI specification v0.2 detected
> [    0.000000] SBI implementation ID=0x1 Version=0x9
> [    0.000000] SBI TIME extension detected
> [    0.000000] SBI IPI extension detected
> [    0.000000] SBI RFENCE extension detected
> [    0.000000] SBI v0.2 HSM extension detected
> [    0.000000] riscv: ISA extensions acdfhimsu
> [    0.000000] riscv: ELF capabilities acdfim
> [    0.000000] percpu: Embedded 12 pages/cpu s16600 r8192 d24360 u49152
> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 15240
> [    0.000000] Kernel command line: rootwait root=/dev/vda ro console=ttyS0 earlycon=sbi
> [    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
> [    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]       fixmap : 0x9dc00000 - 0x9e000000   (4096 kB)
> [    0.000000]       pci io : 0x9e000000 - 0x9f000000   (  16 MB)
> [    0.000000]      vmemmap : 0x9f000000 - 0x9fffffff   (  15 MB)
> [    0.000000]      vmalloc : 0xa0000000 - 0xbfffffff   ( 511 MB)
> [    0.000000]       lowmem : 0xc0000000 - 0xc3c00000   (  60 MB)
> [    0.000000] Memory: 51924K/61440K available (6117K kernel code, 695K rwdata, 1594K rodata, 255K init, 241K bss, 9516K reserved, 0K cma-reserved)
> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> [    0.000000] rcu: Hierarchical RCU implementation.
> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
> [    0.000000] rcu:     RCU debug extended QS entry/exit.
> [    0.000000]  Tracing variant of Tasks RCU enabled.
> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
> [    0.000000] riscv-intc: 32 local interrupts mapped
> [    0.000000] plic: plic@c000000: mapped 53 interrupts with 1 handlers for 2 contexts.
> ...
> Welcome to Buildroot
> buildroot login: root
> # cat /proc/cpuinfo
> processor       : 0
> hart            : 0
> isa             : rv32imafdcsuh
> mmu             : sv32
>
> # file /bin/busybox
> /bin/busybox: setuid ELF 32-bit LSB shared object, UCB RISC-V, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv32-ilp32d.so.1, for GNU/Linux 5.15.0, stripped
> [   79.320589] random: fast init done
> # cat /proc/meminfo
> MemTotal:          52176 kB
> MemFree:           41012 kB
> MemAvailable:      42176 kB
> Buffers:             644 kB
> Cached:             2724 kB
> SwapCached:            0 kB
> Active:             3128 kB
> Inactive:            752 kB
> Active(anon):         40 kB
> Inactive(anon):      516 kB
> Active(file):       3088 kB
> Inactive(file):      236 kB
> Unevictable:           0 kB
> Mlocked:               0 kB
> SwapTotal:             0 kB
> SwapFree:              0 kB
> Dirty:                 4 kB
> Writeback:             0 kB
> AnonPages:           556 kB
> Mapped:             2172 kB
> Shmem:                44 kB
> KReclaimable:        656 kB
> Slab:               3684 kB
> SReclaimable:        656 kB
> SUnreclaim:         3028 kB
> KernelStack:         312 kB
> PageTables:           88 kB
> NFS_Unstable:          0 kB
> Bounce:                0 kB
> WritebackTmp:          0 kB
> CommitLimit:       26088 kB
> Committed_AS:       2088 kB
> VmallocTotal:     524287 kB
> VmallocUsed:          12 kB
> VmallocChunk:          0 kB
> Percpu:               60 kB
> #
>
>  Some conclusions:
>  - kernel statics:
>    64: Memory: 52788K/63488K available (6184K kernel code, 888K rwdata, 1917K rodata, 294K init, 297K bss, 10700K reserved)
>    32: Memory: 51924K/61440K available (6117K kernel code, 695K rwdata, 1594K rodata, 255K init, 241K bss,  9516K reserved)
>    rv32 better than rv64:                  1%               22%           17%          13%        19%         11%
>    The code size is very similar, but data size rv32 would be better.
>
>  - rv32 kernel runtime KernelStack, Slab... are smaller,
>    rv64: MemTotal: 53076 kB,        MemFree: 40264 kB
>    rv32: MemTotal: 52176 + 2048 kB, MemFree: 41012  + 2048 kB
>    rv32 better than rv64:       2%                         6%
>
>    (Because opensbi problem, we could add another 2MB for rv32.)
>    Overall in 64MB memory situation, rv64-compat is 6% worse than rv32-full
>    at memory footprint. If the user space memory usage increases, I think
>    the gap will be further reduced.
>
> Changes in v5:
>  - Rebase on linux-5.17-rc2
>  - Include consolidate the fcntl patches by Christoph Hellwig
>  - Remove F_GETLK64/F_SETLK64/F_SETLKW64 from asm/compat.h
>  - Change COMPAT_RLIM_INFINITY from 0x7fffffff to 0xffffffff
>  - Bring back "Add hw-cap detect in setup_arch patch" in v1
>
> Changes in v4:
>  - Rebase on linux-5.17-rc1
>  - Optimize compat_sys_call_table implementation with Arnd's advice
>  - Add reviewed-by for Arnd. Thx :)
>  - Remove FIXME comment in elf.h
>  - Optimize Cleanup duplicate definitions in compat.h with Arnd's advice
>
> Changes in v3:
>  - Rebase on newest master (pre linux-5.17-rc1)
>  - Using newest qemu version v7 for test
>  - Remove fcntl common modification
>  - Fixup SET_PERSONALITY in elf.h by Arnd
>  - Fixup KVM Kconfig
>  - Update Acked-by & Reviewed-by
>
> Changes in v2:
>  - Add __ARCH_WANT_COMPAT_STAT suggested
>  - Cleanup fcntl compatduplicate definitions
>  - Cleanup compat.h
>  - Move rv32_defconfig into Makefile
>  - Fixup rv64 rootfs boot failed, remove hw_compat_mode_detect
>  - Move SYSVIPC_COMPAT into init/Kconfig
>  - Simplify compat_elf_check
>
>
> Christoph Hellwig (3):
>   uapi: simplify __ARCH_FLOCK{,64}_PAD a little
>   uapi: always define F_GETLK64/F_SETLK64/F_SETLKW64 in fcntl.h
>   compat: consolidate the compat_flock{,64} definition
>
> Guo Ren (18):
>   kconfig: Add SYSVIPC_COMPAT for all architectures
>   fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT
>   asm-generic: compat: Cleanup duplicate definitions
>   syscalls: compat: Fix the missing part for __SYSCALL_COMPAT
>   riscv: Fixup difference with defconfig
>   riscv: compat: Add basic compat data type implementation
>   riscv: compat: Re-implement TASK_SIZE for COMPAT_32BIT
>   riscv: compat: syscall: Add compat_sys_call_table implementation
>   riscv: compat: syscall: Add entry.S implementation
>   riscv: compat: process: Add UXL_32 support in start_thread
>   riscv: compat: Add elf.h implementation
>   riscv: compat: Add hw capability check for elf
>   riscv: compat: vdso: Add rv32 VDSO base code implementation
>   riscv: compat: vdso: Add setup additional pages implementation
>   riscv: compat: signal: Add rt_frame implementation
>   riscv: compat: ptrace: Add compat_arch_ptrace implement
>   riscv: compat: Add COMPAT Kbuild skeletal support
>   KVM: compat: riscv: Prevent KVM_COMPAT from being selected
>
>  arch/arm64/Kconfig                            |   4 -
>  arch/arm64/include/asm/compat.h               |  91 +------
>  arch/arm64/include/asm/unistd.h               |   1 +
>  arch/mips/Kconfig                             |   5 -
>  arch/mips/include/asm/compat.h                |  41 +--
>  arch/mips/include/asm/unistd.h                |   2 +
>  arch/mips/include/uapi/asm/fcntl.h            |  30 +--
>  arch/parisc/Kconfig                           |   4 -
>  arch/parisc/include/asm/compat.h              |  45 +---
>  arch/parisc/include/asm/unistd.h              |   1 +
>  arch/powerpc/Kconfig                          |   5 -
>  arch/powerpc/include/asm/compat.h             |  50 +---
>  arch/powerpc/include/asm/unistd.h             |   1 +
>  arch/riscv/Kconfig                            |  19 ++
>  arch/riscv/Makefile                           |   9 +
>  arch/riscv/configs/rv32_defconfig             | 135 ----------
>  arch/riscv/include/asm/compat.h               | 129 ++++++++++
>  arch/riscv/include/asm/csr.h                  |   7 +
>  arch/riscv/include/asm/elf.h                  |  52 +++-
>  arch/riscv/include/asm/mmu.h                  |   1 +
>  arch/riscv/include/asm/pgtable.h              |  13 +-
>  arch/riscv/include/asm/syscall.h              |   1 +
>  arch/riscv/include/asm/thread_info.h          |   1 +
>  arch/riscv/include/asm/unistd.h               |  11 +
>  arch/riscv/include/asm/vdso.h                 |   9 +
>  arch/riscv/include/uapi/asm/unistd.h          |   2 +-
>  arch/riscv/kernel/Makefile                    |   3 +
>  arch/riscv/kernel/compat_signal.c             | 243 ++++++++++++++++++
>  arch/riscv/kernel/compat_syscall_table.c      |  19 ++
>  arch/riscv/kernel/compat_vdso/.gitignore      |   2 +
>  arch/riscv/kernel/compat_vdso/Makefile        |  68 +++++
>  arch/riscv/kernel/compat_vdso/compat_vdso.S   |   8 +
>  .../kernel/compat_vdso/compat_vdso.lds.S      |   3 +
>  arch/riscv/kernel/compat_vdso/flush_icache.S  |   3 +
>  .../compat_vdso/gen_compat_vdso_offsets.sh    |   5 +
>  arch/riscv/kernel/compat_vdso/getcpu.S        |   3 +
>  arch/riscv/kernel/compat_vdso/note.S          |   3 +
>  arch/riscv/kernel/compat_vdso/rt_sigreturn.S  |   3 +
>  arch/riscv/kernel/entry.S                     |  18 +-
>  arch/riscv/kernel/process.c                   |  36 +++
>  arch/riscv/kernel/ptrace.c                    |  87 ++++++-
>  arch/riscv/kernel/signal.c                    |  13 +-
>  arch/riscv/kernel/sys_riscv.c                 |   6 +-
>  arch/riscv/kernel/vdso.c                      | 104 +++++---
>  arch/riscv/kernel/vdso/vdso.S                 |   6 +-
>  arch/s390/Kconfig                             |   3 -
>  arch/s390/include/asm/compat.h                |  99 +------
>  arch/s390/include/asm/unistd.h                |   1 +
>  arch/sparc/Kconfig                            |   5 -
>  arch/sparc/include/asm/compat.h               |  61 ++---
>  arch/sparc/include/asm/unistd.h               |   1 +
>  arch/x86/Kconfig                              |   4 -
>  arch/x86/include/asm/compat.h                 | 104 ++------
>  arch/x86/include/asm/unistd.h                 |   1 +
>  fs/open.c                                     |  24 ++
>  fs/read_write.c                               |  16 ++
>  fs/stat.c                                     |   2 +-
>  fs/sync.c                                     |   9 +
>  include/asm-generic/compat.h                  | 113 ++++++++
>  include/linux/compat.h                        |  68 +++++
>  include/uapi/asm-generic/fcntl.h              |  23 +-
>  include/uapi/asm-generic/unistd.h             |   4 +-
>  init/Kconfig                                  |   4 +
>  mm/fadvise.c                                  |  11 +
>  mm/readahead.c                                |   7 +
>  tools/include/uapi/asm-generic/fcntl.h        |  21 +-
>  tools/include/uapi/asm-generic/unistd.h       |   4 +-
>  virt/kvm/Kconfig                              |   2 +-
>  68 files changed, 1198 insertions(+), 691 deletions(-)
>  delete mode 100644 arch/riscv/configs/rv32_defconfig
>  create mode 100644 arch/riscv/include/asm/compat.h
>  create mode 100644 arch/riscv/kernel/compat_signal.c
>  create mode 100644 arch/riscv/kernel/compat_syscall_table.c
>  create mode 100644 arch/riscv/kernel/compat_vdso/.gitignore
>  create mode 100644 arch/riscv/kernel/compat_vdso/Makefile
>  create mode 100644 arch/riscv/kernel/compat_vdso/compat_vdso.S
>  create mode 100644 arch/riscv/kernel/compat_vdso/compat_vdso.lds.S
>  create mode 100644 arch/riscv/kernel/compat_vdso/flush_icache.S
>  create mode 100755 arch/riscv/kernel/compat_vdso/gen_compat_vdso_offsets.sh
>  create mode 100644 arch/riscv/kernel/compat_vdso/getcpu.S
>  create mode 100644 arch/riscv/kernel/compat_vdso/note.S
>  create mode 100644 arch/riscv/kernel/compat_vdso/rt_sigreturn.S
>
> --
> 2.25.1
>


-- 
Best Regards
 Guo Ren

ML: https://lore.kernel.org/linux-csky/

^ permalink raw reply

* Re: rcutorture’s init segfaults in ppc64le VM
From: Michael Ellerman @ 2022-02-08 10:09 UTC (permalink / raw)
  To: Paul Menzel, Paul E. McKenney; +Cc: rcu, linuxppc-dev
In-Reply-To: <565038d7-7374-1005-31bf-df2f051845ff@molgen.mpg.de>

Paul Menzel <pmenzel@molgen.mpg.de> writes:
> Dear Linux folks,

Hi Paul,

> On the POWER8 server IBM S822LC running Ubuntu 21.10, building Linux 
> 5.17-rc2+ with rcutorture tests

I'm not sure if that's the host kernel version or the version you're
using of rcutorture? Can you tell us the sha1 of your host kernel and of
the tree you're running rcutorture from?

>      $ tools/testing/selftests/rcutorture/bin/torture.sh --duration 10
>
> the built init
>
>      $ file tools/testing/selftests/rcutorture/initrd/init
>      tools/testing/selftests/rcutorture/initrd/init: ELF 64-bit LSB 
> executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically 
> linked, BuildID[sha1]=0ded0e45649184a296f30d611f7a03cc51ecb616, for 
> GNU/Linux 3.10.0, stripped

Mine looks pretty much identical:

  $ file tools/testing/selftests/rcutorture/initrd/init
  tools/testing/selftests/rcutorture/initrd/init: ELF 64-bit LSB
  executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically
  linked, BuildID[sha1]=86078bf6e5d54ab0860d36aa9a65d52818b972c8, for
  GNU/Linux 3.10.0, stripped


> segfaults in QEMU. From one of the log files

But mine doesn't segfault, it runs fine and the test completes.

What qemu version are you using?

I tried 4.2.1 and 6.2.0, both worked.


> /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-rcutorture/TREE03/console.log
>
>      [    1.119803][    T1] Run /init as init process
>      [    1.122011][    T1] init[1]: segfault (11) at f0656d90 nip 10000a18 lr 0 code 1 in init[10000000+d0000]
>      [    1.124863][    T1] init[1]: code: 2c2903e7 f9210030 4081ff84 4bffff58 00000000 01000000 00000580 3c40100f
>      [    1.128823][    T1] init[1]: code: 38427c00 7c290b78 782106e4 38000000 <f821ff81> 7c0803a6 f8010000 e9028010

The disassembly from 3c40100f is:
  lis     r2,4111
  addi    r2,r2,31744
  mr      r9,r1
  rldicr  r1,r1,0,59
  li      r0,0
  stdu    r1,-128(r1)		<- fault
  mtlr    r0
  std     r0,0(r1)
  ld      r8,-32752(r2)


I think you'll find that's the code at the ELF entry point. You can
check with:

 $ readelf -e tools/testing/selftests/rcutorture/initrd/init | grep Entry
   Entry point address:               0x10000c0c

 $ objdump -d tools/testing/selftests/rcutorture/initrd/init | grep -m 1 -A 8 10000c0c
    10000c0c:   0e 10 40 3c     lis     r2,4110
    10000c10:   00 7b 42 38     addi    r2,r2,31488
    10000c14:   78 0b 29 7c     mr      r9,r1
    10000c18:   e4 06 21 78     rldicr  r1,r1,0,59
    10000c1c:   00 00 00 38     li      r0,0
    10000c20:   81 ff 21 f8     stdu    r1,-128(r1)
    10000c24:   a6 03 08 7c     mtlr    r0
    10000c28:   00 00 01 f8     std     r0,0(r1)
    10000c2c:   10 80 02 e9     ld      r8,-32752(r2)


The fault you're seeing is the first store using the stack pointer (r1),
which is setup by the kernel.

The fault address f0656d90 is weirdly low, the stack should be up near 128TB.

I'm not sure how we end up with a bad r1.

Can you dump some info about the kernel that was built, something like:

$ file /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-rcutorture/TREE03/vmlinux

And maybe paste/attach the full log, maybe there's a clue somewhere.

cheers

^ permalink raw reply

* Re: [PATCHv2] selftests/powerpc/copyloops: Add memmove_64 test
From: Michael Ellerman @ 2022-02-08 10:36 UTC (permalink / raw)
  To: Ritesh Harjani, linuxppc-dev; +Cc: Vaibhav Jain, Aneesh Kumar K . V
In-Reply-To: <20220208035606.mxjd6k4jqswallxp@riteshh-domain>

Ritesh Harjani <riteshh@linux.ibm.com> writes:
> Found this, while checking my older emails. Sorry about not checking on this
> before. Have addressed the review comments here [1]
>
> This still applies cleanly on 5.17-rc3 and passes.
>
> riteshh-> ./copyloops/memmove_64
> test: memmove
> tags: git_version:v5.17-rc3-1-g84f773abc114
> success: memmove
>
> [1]: https://lore.kernel.org/all/87sfybl5f9.fsf@mpe.ellerman.id.au/

Thanks, I'll pick it up.

cheers

^ permalink raw reply

* Re: rcutorture’s init segfaults in ppc64le VM
From: Paul Menzel @ 2022-02-08 12:12 UTC (permalink / raw)
  To: Michael Ellerman, Paul E. McKenney
  Cc: rcu, Zhouyi Zhou, linuxppc-dev, Willy Tarreau
In-Reply-To: <871r0dmzzm.fsf@mpe.ellerman.id.au>

Dear Michael,


Thank you for looking into this.

Am 08.02.22 um 11:09 schrieb Michael Ellerman:
> Paul Menzel writes:

[…]

>> On the POWER8 server IBM S822LC running Ubuntu 21.10, building Linux
>> 5.17-rc2+ with rcutorture tests
> 
> I'm not sure if that's the host kernel version or the version you're
> using of rcutorture? Can you tell us the sha1 of your host kernel and of
> the tree you're running rcutorture from?

The host system runs Linux 5.17-rc1+ started with kexec. Unfortunately, 
I am unable to find the exact sha1.

     $ more /proc/version
     Linux version 5.17.0-rc1+ 
(pmenzel@flughafenberlinbrandenburgwillybrandt.molgen.mpg.de) (Ubuntu 
clang version 13.0.0-2, LLD 13.0.0) #1 SMP Fri Jan 28
17:13:04 CET 2022

The Linux tree, from where I run rcutorture from, is at commit 
dfd42facf1e4 (Linux 5.17-rc3) with four patches on top:

     $ git log --oneline -6
     207cec79e752 (HEAD -> master, origin/master, origin/HEAD) Problems 
with rcutorture on ppc64le: allmodconfig(2) and other failures
     8c82f96fbe57 ata: libata-sata: improve sata_link_debounce()
     a447541d925f ata: libata-sata: remove debounce delay by default
     afd84e1eeafc ata: libata-sata: introduce struct sata_deb_timing
     f4caf7e48b75 ata: libata-sata: Simplify sata_link_resume() interface
     dfd42facf1e4 (tag: v5.17-rc3) Linux 5.17-rc3

>>       $ tools/testing/selftests/rcutorture/bin/torture.sh --duration 10
>>
>> the built init
>>
>>       $ file tools/testing/selftests/rcutorture/initrd/init
>>       tools/testing/selftests/rcutorture/initrd/init: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, BuildID[sha1]=0ded0e45649184a296f30d611f7a03cc51ecb616, for GNU/Linux 3.10.0, stripped
> 
> Mine looks pretty much identical:
> 
>    $ file tools/testing/selftests/rcutorture/initrd/init
>    tools/testing/selftests/rcutorture/initrd/init: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, BuildID[sha1]=86078bf6e5d54ab0860d36aa9a65d52818b972c8, for GNU/Linux 3.10.0, stripped
> 
>> segfaults in QEMU. From one of the log files
> 
> But mine doesn't segfault, it runs fine and the test completes.
> 
> What qemu version are you using?
> 
> I tried 4.2.1 and 6.2.0, both worked.

     $ qemu-system-ppc64le --version
     QEMU emulator version 6.0.0 (Debian 1:6.0+dfsg-2expubuntu1.1)
     Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

>> /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-rcutorture/TREE03/console.log

Sorry, that was the wrong path/test. The correct one for the excerpt 
below is:

 
/dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-locktorture-kasan/LOCK01/console.log

(For TREE03, QEMU does not start the Linux kernel at all, that means no 
output after:

     Booting Linux via __start() @ 0x0000000000400000 ...
)

>>       [    1.119803][    T1] Run /init as init process
>>       [    1.122011][    T1] init[1]: segfault (11) at f0656d90 nip 10000a18 lr 0 code 1 in init[10000000+d0000]
>>       [    1.124863][    T1] init[1]: code: 2c2903e7 f9210030 4081ff84 4bffff58 00000000 01000000 00000580 3c40100f
>>       [    1.128823][    T1] init[1]: code: 38427c00 7c290b78 782106e4 38000000 <f821ff81> 7c0803a6 f8010000 e9028010
> 
> The disassembly from 3c40100f is:
>    lis     r2,4111
>    addi    r2,r2,31744
>    mr      r9,r1
>    rldicr  r1,r1,0,59
>    li      r0,0
>    stdu    r1,-128(r1)		<- fault
>    mtlr    r0
>    std     r0,0(r1)
>    ld      r8,-32752(r2)
> 
> 
> I think you'll find that's the code at the ELF entry point. You can
> check with:
> 
>   $ readelf -e tools/testing/selftests/rcutorture/initrd/init | grep Entry
>     Entry point address:               0x10000c0c
> 
>   $ objdump -d tools/testing/selftests/rcutorture/initrd/init | grep -m 1 -A 8 10000c0c
>      10000c0c:   0e 10 40 3c     lis     r2,4110
>      10000c10:   00 7b 42 38     addi    r2,r2,31488
>      10000c14:   78 0b 29 7c     mr      r9,r1
>      10000c18:   e4 06 21 78     rldicr  r1,r1,0,59
>      10000c1c:   00 00 00 38     li      r0,0
>      10000c20:   81 ff 21 f8     stdu    r1,-128(r1)
>      10000c24:   a6 03 08 7c     mtlr    r0
>      10000c28:   00 00 01 f8     std     r0,0(r1)
>      10000c2c:   10 80 02 e9     ld      r8,-32752(r2)
> 
> The fault you're seeing is the first store using the stack pointer (r1),
> which is setup by the kernel.
> 
> The fault address f0656d90 is weirdly low, the stack should be up near 128TB.
> 
> I'm not sure how we end up with a bad r1.
> 
> Can you dump some info about the kernel that was built, something like:
> 
> $ file /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-rcutorture/TREE03/vmlinux
> 
> And maybe paste/attach the full log, maybe there's a clue somewhere.

You can now download the content of 
`/dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-locktorture-kasan/LOCK01` 
[1, 65 MB].

Can you reproduce the segmentation fault with the line below?

     $ qemu-system-ppc64 -enable-kvm -nographic -smp cores=1,threads=8 
-net none -enable-kvm -M pseries -nodefaults -device spapr-vscsi -serial 
stdio -m 512 -kernel 
/dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-locktorture-kasan/LOCK01/vmlinux 
-append "debug_boot_weak_hash panic=-1 console=ttyS0 
torture.disable_onoff_at_boot locktorture.onoff_interval=3 
locktorture.onoff_holdoff=30 locktorture.stat_interval=15 
locktorture.shutdown_secs=60 locktorture.verbose=1"


Kind regards,

Paul


[1]: 
https://owww.molgen.mpg.de/~pmenzel/rcutorture-2022.02.01-21.52.37-torture-locktorture-kasan-lock01.tar.xz

^ permalink raw reply

* Re: rcutorture’s init segfaults in ppc64le VM
From: Paul Menzel @ 2022-02-08 12:27 UTC (permalink / raw)
  To: Michael Ellerman, Paul E. McKenney
  Cc: rcu, Zhouyi Zhou, linuxppc-dev, Willy Tarreau
In-Reply-To: <e7498a9d-7420-ff52-99e4-8194f3d177f0@molgen.mpg.de>

[Correct sha1 for test for 2022.02.01-21.52.37]


Am 08.02.22 um 13:12 schrieb Paul Menzel:
> Dear Michael,
> 
> 
> Thank you for looking into this.
> 
> Am 08.02.22 um 11:09 schrieb Michael Ellerman:
>> Paul Menzel writes:
> 
> […]
> 
>>> On the POWER8 server IBM S822LC running Ubuntu 21.10, building Linux
>>> 5.17-rc2+ with rcutorture tests
>>
>> I'm not sure if that's the host kernel version or the version you're
>> using of rcutorture? Can you tell us the sha1 of your host kernel and of
>> the tree you're running rcutorture from?
> 
> The host system runs Linux 5.17-rc1+ started with kexec. Unfortunately, 
> I am unable to find the exact sha1.
> 
>      $ more /proc/version
>      Linux version 5.17.0-rc1+ (pmenzel@flughafenberlinbrandenburgwillybrandt.molgen.mpg.de) (Ubuntu clang version 13.0.0-2, LLD 13.0.0) #1 SMP Fri Jan 28 17:13:04 CET 2022
> 
> The Linux tree, from where I run rcutorture from, is at commit 
> dfd42facf1e4 (Linux 5.17-rc3) with four patches on top:
> 
>      $ git log --oneline -6
>      207cec79e752 (HEAD -> master, origin/master, origin/HEAD) Problems with rcutorture on ppc64le: allmodconfig(2) and other failures
>      8c82f96fbe57 ata: libata-sata: improve sata_link_debounce()
>      a447541d925f ata: libata-sata: remove debounce delay by default
>      afd84e1eeafc ata: libata-sata: introduce struct sata_deb_timing
>      f4caf7e48b75 ata: libata-sata: Simplify sata_link_resume() interface
>      dfd42facf1e4 (tag: v5.17-rc3) Linux 5.17-rc3

I was able to reproduce this with the above, but the report and the 
attached logs at the end are from:

     $ git log --oneline -6 b37a34a8cf5a
     b37a34a8cf5a Problems with rcutorture on ppc64le: allmodconfig(2) 
and other failures
     9a78ddead89a ata: libata-sata: improve sata_link_debounce()
     567da2eaf099 ata: libata-sata: remove debounce delay by default
     70ae61851660 ata: libata-sata: introduce struct sata_deb_timing
     9ebb6433d9c3 ata: libata-sata: Simplify sata_link_resume() interface
     26291c54e111 (tag: v5.17-rc2) Linux 5.17-rc2

>>>       $ tools/testing/selftests/rcutorture/bin/torture.sh --duration 10
>>>
>>> the built init
>>>
>>>       $ file tools/testing/selftests/rcutorture/initrd/init
>>>       tools/testing/selftests/rcutorture/initrd/init: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, BuildID[sha1]=0ded0e45649184a296f30d611f7a03cc51ecb616, for GNU/Linux 3.10.0, stripped
>>
>> Mine looks pretty much identical:
>>
>>    $ file tools/testing/selftests/rcutorture/initrd/init
>>    tools/testing/selftests/rcutorture/initrd/init: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, BuildID[sha1]=86078bf6e5d54ab0860d36aa9a65d52818b972c8, for GNU/Linux 3.10.0, stripped
>>
>>> segfaults in QEMU. From one of the log files
>>
>> But mine doesn't segfault, it runs fine and the test completes.
>>
>> What qemu version are you using?
>>
>> I tried 4.2.1 and 6.2.0, both worked.
> 
>      $ qemu-system-ppc64le --version
>      QEMU emulator version 6.0.0 (Debian 1:6.0+dfsg-2expubuntu1.1)
>      Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project 
> developers
> 
>>> /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-rcutorture/TREE03/console.log 
>>>
> 
> Sorry, that was the wrong path/test. The correct one for the excerpt 
> below is:
> 
> 
> /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-locktorture-kasan/LOCK01/console.log 
> 
> 
> (For TREE03, QEMU does not start the Linux kernel at all, that means no 
> output after:
> 
>      Booting Linux via __start() @ 0x0000000000400000 ...
> )
> 
>>>       [    1.119803][    T1] Run /init as init process
>>>       [    1.122011][    T1] init[1]: segfault (11) at f0656d90 nip 10000a18 lr 0 code 1 in init[10000000+d0000]
>>>       [    1.124863][    T1] init[1]: code: 2c2903e7 f9210030 4081ff84 4bffff58 00000000 01000000 00000580 3c40100f
>>>       [    1.128823][    T1] init[1]: code: 38427c00 7c290b78 782106e4 38000000 <f821ff81> 7c0803a6 f8010000 e9028010
>>
>> The disassembly from 3c40100f is:
>>    lis     r2,4111
>>    addi    r2,r2,31744
>>    mr      r9,r1
>>    rldicr  r1,r1,0,59
>>    li      r0,0
>>    stdu    r1,-128(r1)        <- fault
>>    mtlr    r0
>>    std     r0,0(r1)
>>    ld      r8,-32752(r2)
>>
>>
>> I think you'll find that's the code at the ELF entry point. You can
>> check with:
>>
>>   $ readelf -e tools/testing/selftests/rcutorture/initrd/init | grep 
>> Entry
>>     Entry point address:               0x10000c0c
>>
>>   $ objdump -d tools/testing/selftests/rcutorture/initrd/init | grep 
>> -m 1 -A 8 10000c0c
>>      10000c0c:   0e 10 40 3c     lis     r2,4110
>>      10000c10:   00 7b 42 38     addi    r2,r2,31488
>>      10000c14:   78 0b 29 7c     mr      r9,r1
>>      10000c18:   e4 06 21 78     rldicr  r1,r1,0,59
>>      10000c1c:   00 00 00 38     li      r0,0
>>      10000c20:   81 ff 21 f8     stdu    r1,-128(r1)
>>      10000c24:   a6 03 08 7c     mtlr    r0
>>      10000c28:   00 00 01 f8     std     r0,0(r1)
>>      10000c2c:   10 80 02 e9     ld      r8,-32752(r2)
>>
>> The fault you're seeing is the first store using the stack pointer (r1),
>> which is setup by the kernel.
>>
>> The fault address f0656d90 is weirdly low, the stack should be up near 
>> 128TB.
>>
>> I'm not sure how we end up with a bad r1.
>>
>> Can you dump some info about the kernel that was built, something like:
>>
>> $ file 
>> /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-rcutorture/TREE03/vmlinux 
>>
>> And maybe paste/attach the full log, maybe there's a clue somewhere.
> 
> You can now download the content of 
> `/dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-locktorture-kasan/LOCK01` 
> [1, 65 MB].
> 
> Can you reproduce the segmentation fault with the line below?
> 
>      $ qemu-system-ppc64 -enable-kvm -nographic -smp cores=1,threads=8 
> -net none -enable-kvm -M pseries -nodefaults -device spapr-vscsi -serial 
> stdio -m 512 -kernel 
> /dev/shm/linux/tools/testing/selftests/rcutorture/res/2022.02.01-21.52.37-torture/results-locktorture-kasan/LOCK01/vmlinux 
> -append "debug_boot_weak_hash panic=-1 console=ttyS0 
> torture.disable_onoff_at_boot locktorture.onoff_interval=3 
> locktorture.onoff_holdoff=30 locktorture.stat_interval=15 
> locktorture.shutdown_secs=60 locktorture.verbose=1"
> 
> 
> Kind regards,
> 
> Paul
> 
> 
> [1]: https://owww.molgen.mpg.de/~pmenzel/rcutorture-2022.02.01-21.52.37-torture-locktorture-kasan-lock01.tar.xz

^ permalink raw reply

* Re: ppc64le: `NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!` when turning off SMT
From: Frederic Weisbecker @ 2022-02-08 13:17 UTC (permalink / raw)
  To: Paul Menzel
  Cc: Frederic Weisbecker, Thomas Gleixner, linuxppc-dev, Ingo Molnar,
	LKML
In-Reply-To: <0baca95b-771f-2217-1098-2d0eee568ea7@molgen.mpg.de>

On Tue, Feb 08, 2022 at 08:32:37AM +0100, Paul Menzel wrote:
> Dear Linux folks,
> 
> 
> On the POWER8 server IBM S822LC running Ubuntu 21.10, Linux 5.17-rc1+ built
> with
> 
>     $ grep HZ /boot/config-5.17.0-rc1+
>     CONFIG_NO_HZ_COMMON=y
>     # CONFIG_HZ_PERIODIC is not set
>     CONFIG_NO_HZ_IDLE=y
>     # CONFIG_NO_HZ_FULL is not set
>     CONFIG_NO_HZ=y
>     # CONFIG_HZ_100 is not set
>     CONFIG_HZ_250=y
>     # CONFIG_HZ_300 is not set
>     # CONFIG_HZ_1000 is not set
>     CONFIG_HZ=250
> 
> once warned about a NOHZ tick-stop error, when I executed `sudo
> /usr/sbin/ppc64_cpu --smt=off` (so that KVM would work).

I see, so I assume this sets some CPUs offline, right?

> 
> ```
> $ dmesg
> [    0.000000] Linux version 5.17.0-rc1+
> (pmenzel@flughafenberlinbrandenburgwillybrandt.molgen.mpg.de) (Ubuntu clang
> version 13.0.0-2, LLD 13.0.0) #1 SMP Fri Jan 28 17:13:04 CET 2022
> […]
> [271272.030262] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271272.305726] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271272.549790] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271274.885167] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271275.113896] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271275.412902] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271275.625245] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271275.833107] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271276.041391] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> [271277.244880] NOHZ tick-stop error: Non-RCU local softirq work is pending,
> handler #20!!!
> ```

That's IRQ_POLL_SOFTIRQ. The problem here is probably that some of these
softirqs are pending even though ksoftirqd has been parked.

I see there is irq_poll_cpu_dead() that migrates the pending queue once
the CPU is finally dead, so this is well handled.

I'm preparing a patch to fix the warning.

Thanks.

^ permalink raw reply

* Re: ppc64le: `NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!!` when turning off SMT
From: Paul A. Clarke @ 2022-02-08 13:23 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Paul Menzel, Frederic Weisbecker, LKML, Thomas Gleixner,
	linuxppc-dev, Ingo Molnar
In-Reply-To: <20220208131703.GA538566@lothringen>

On Tue, Feb 08, 2022 at 02:17:03PM +0100, Frederic Weisbecker wrote:
> On Tue, Feb 08, 2022 at 08:32:37AM +0100, Paul Menzel wrote:
> > once warned about a NOHZ tick-stop error, when I executed `sudo
> > /usr/sbin/ppc64_cpu --smt=off` (so that KVM would work).
> 
> I see, so I assume this sets some CPUs offline, right?

ppc64_cpu --smt=off sets all but the first CPU per core offline.

PC

^ permalink raw reply

* Re: [PATCH] include: linux: Reorganize timekeeping and ktime headers
From: Alexandre Belloni @ 2022-02-08 14:13 UTC (permalink / raw)
  To: Carlos Bilbao
  Cc: bilbao, linux-rtc, linux-ia64, jgross, sboyd, linux-kernel,
	rostedt, linux-m68k, geert, mhiramat, boon.leong.ong, john.stultz,
	tglx, linuxppc-dev, linux-stm32, linux-arm-kernel
In-Reply-To: <20220126200749.12090-1-carlos.bilbao@amd.com>

On 26/01/2022 14:07:50-0600, Carlos Bilbao wrote:
> The timekeeping subsystem could use some reorganization. Reorganize and
> separate the headers by making ktime.h take care of the ktime_get()
> family of functions, and reserve timekeeping.h for the actual timekeeping.
> 
> This also helps to avoid implicit function errors and strengthens the
> header dependencies, since timekeeping.h was using ktime_to_ns(), a static
> function defined in a header it does no include, ktime.h.
> 
> This patch also includes the header timekeeping.h wherever it is necessary
> for a successful compilation after the header code reorganization for all
> archs.
> 
> Signed-off-by: Carlos Bilbao <carlos.bilbao@amd.com>
> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

> ---
>  arch/arm64/kvm/hypercalls.c    |   1 +
>  arch/ia64/kernel/time.c        |   1 +
>  arch/m68k/atari/time.c         |   1 +
>  arch/m68k/hp300/time.c         |   2 +
>  arch/m68k/mac/via.c            |   1 +
>  arch/m68k/mvme16x/config.c     |   1 +
>  arch/m68k/sun3/sun3ints.c      |   1 +
>  arch/powerpc/kernel/time.c     |   1 +
>  arch/x86/kernel/rtc.c          |   1 +
>  arch/x86/kernel/tsc.c          |   1 +
>  drivers/rtc/class.c            |   1 +
>  include/linux/ktime.h          | 196 +++++++++++++++++++++++++++++++-
>  include/linux/pps_kernel.h     |   1 +
>  include/linux/sched_clock.h    |   2 +
>  include/linux/stmmac.h         |   1 +
>  include/linux/timekeeping.h    | 197 +--------------------------------
>  init/main.c                    |   1 +
>  kernel/time/ntp.c              |   1 +
>  kernel/time/posix-timers.c     |   1 +
>  kernel/time/tick-legacy.c      |   1 +
>  kernel/time/time.c             |   1 +
>  kernel/time/timekeeping.c      |   1 +
>  sound/pci/hda/hda_controller.c |   1 +
>  23 files changed, 218 insertions(+), 198 deletions(-)
> 
> diff --git a/arch/arm64/kvm/hypercalls.c b/arch/arm64/kvm/hypercalls.c
> index 30da78f72b3b..41499c1d7379 100644
> --- a/arch/arm64/kvm/hypercalls.c
> +++ b/arch/arm64/kvm/hypercalls.c
> @@ -3,6 +3,7 @@
>  
>  #include <linux/arm-smccc.h>
>  #include <linux/kvm_host.h>
> +#include <linux/timekeeping.h>
>  
>  #include <asm/kvm_emulate.h>
>  
> diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
> index fa9c0ab8c6fc..85e79ff3c98e 100644
> --- a/arch/ia64/kernel/time.c
> +++ b/arch/ia64/kernel/time.c
> @@ -22,6 +22,7 @@
>  #include <linux/efi.h>
>  #include <linux/timex.h>
>  #include <linux/timekeeper_internal.h>
> +#include <linux/timekeeping.h>
>  #include <linux/platform_device.h>
>  #include <linux/sched/cputime.h>
>  
> diff --git a/arch/m68k/atari/time.c b/arch/m68k/atari/time.c
> index 7e44d0e9d0f8..b09d3ff40b36 100644
> --- a/arch/m68k/atari/time.c
> +++ b/arch/m68k/atari/time.c
> @@ -19,6 +19,7 @@
>  #include <linux/clocksource.h>
>  #include <linux/delay.h>
>  #include <linux/export.h>
> +#include <linux/timekeeping.h>
>  
>  #include <asm/atariints.h>
>  #include <asm/machdep.h>
> diff --git a/arch/m68k/hp300/time.c b/arch/m68k/hp300/time.c
> index 1d1b7b3b5dd4..56c575096bcb 100644
> --- a/arch/m68k/hp300/time.c
> +++ b/arch/m68k/hp300/time.c
> @@ -14,6 +14,8 @@
>  #include <linux/sched.h>
>  #include <linux/kernel_stat.h>
>  #include <linux/interrupt.h>
> +#include <linux/timekeeping.h>
> +
>  #include <asm/machdep.h>
>  #include <asm/irq.h>
>  #include <asm/io.h>
> diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c
> index 3d11d6219cdd..6dd8f85288e4 100644
> --- a/arch/m68k/mac/via.c
> +++ b/arch/m68k/mac/via.c
> @@ -31,6 +31,7 @@
>  #include <linux/init.h>
>  #include <linux/module.h>
>  #include <linux/irq.h>
> +#include <linux/timekeeping.h>
>  
>  #include <asm/macintosh.h>
>  #include <asm/macints.h>
> diff --git a/arch/m68k/mvme16x/config.c b/arch/m68k/mvme16x/config.c
> index b4422c2dfbbf..ebe1dc3ebb4c 100644
> --- a/arch/m68k/mvme16x/config.c
> +++ b/arch/m68k/mvme16x/config.c
> @@ -28,6 +28,7 @@
>  #include <linux/rtc.h>
>  #include <linux/interrupt.h>
>  #include <linux/module.h>
> +#include <linux/timekeeping.h>
>  
>  #include <asm/bootinfo.h>
>  #include <asm/bootinfo-vme.h>
> diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c
> index 36cc280a4505..209dccc2aed6 100644
> --- a/arch/m68k/sun3/sun3ints.c
> +++ b/arch/m68k/sun3/sun3ints.c
> @@ -11,6 +11,7 @@
>  #include <linux/sched.h>
>  #include <linux/kernel_stat.h>
>  #include <linux/interrupt.h>
> +#include <linux/timekeeping.h>
>  #include <asm/intersil.h>
>  #include <asm/oplib.h>
>  #include <asm/sun3ints.h>
> diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
> index cae8f03a44fe..b577a5a06621 100644
> --- a/arch/powerpc/kernel/time.c
> +++ b/arch/powerpc/kernel/time.c
> @@ -54,6 +54,7 @@
>  #include <linux/of_clk.h>
>  #include <linux/suspend.h>
>  #include <linux/processor.h>
> +#include <linux/timekeeping.h>
>  #include <asm/trace.h>
>  
>  #include <asm/interrupt.h>
> diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
> index 586f718b8e95..98ea05cc6aeb 100644
> --- a/arch/x86/kernel/rtc.c
> +++ b/arch/x86/kernel/rtc.c
> @@ -9,6 +9,7 @@
>  #include <linux/export.h>
>  #include <linux/pnp.h>
>  #include <linux/of.h>
> +#include <linux/timekeeping.h>
>  
>  #include <asm/vsyscall.h>
>  #include <asm/x86_init.h>
> diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
> index a698196377be..add4388283c5 100644
> --- a/arch/x86/kernel/tsc.c
> +++ b/arch/x86/kernel/tsc.c
> @@ -15,6 +15,7 @@
>  #include <linux/timex.h>
>  #include <linux/static_key.h>
>  #include <linux/static_call.h>
> +#include <linux/timekeeping.h>
>  
>  #include <asm/hpet.h>
>  #include <asm/timer.h>
> diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c
> index 4b460c61f1d8..7e2bce8cf0b1 100644
> --- a/drivers/rtc/class.c
> +++ b/drivers/rtc/class.c
> @@ -16,6 +16,7 @@
>  #include <linux/kdev_t.h>
>  #include <linux/idr.h>
>  #include <linux/slab.h>
> +#include <linux/timekeeping.h>
>  #include <linux/workqueue.h>
>  
>  #include "rtc-core.h"
> diff --git a/include/linux/ktime.h b/include/linux/ktime.h
> index 73f20deb497d..07971008b795 100644
> --- a/include/linux/ktime.h
> +++ b/include/linux/ktime.h
> @@ -229,6 +229,198 @@ static inline ktime_t ms_to_ktime(u64 ms)
>  	return ms * NSEC_PER_MSEC;
>  }
>  
> -# include <linux/timekeeping.h>
> +/*
> + * ktime_get() family: read the current time in a multitude of ways,
> + *
> + * The default time reference is CLOCK_MONOTONIC, starting at
> + * boot time but not counting the time spent in suspend.
> + * For other references, use the functions with "real", "clocktai",
> + * "boottime" and "raw" suffixes.
> + *
> + * To get the time in a different format, use the ones wit
> + * "ns", "ts64" and "seconds" suffix.
> + *
> + * See Documentation/core-api/timekeeping.rst for more details.
> + */
>  
> -#endif
> +
> +/*
> + * timespec64 based interfaces
> + */
> +extern void ktime_get_raw_ts64(struct timespec64 *ts);
> +extern void ktime_get_ts64(struct timespec64 *ts);
> +extern void ktime_get_real_ts64(struct timespec64 *tv);
> +extern void ktime_get_coarse_ts64(struct timespec64 *ts);
> +extern void ktime_get_coarse_real_ts64(struct timespec64 *ts);
> +
> +void getboottime64(struct timespec64 *ts);
> +
> +/*
> + * time64_t base interfaces
> + */
> +extern time64_t ktime_get_seconds(void);
> +extern time64_t __ktime_get_real_seconds(void);
> +extern time64_t ktime_get_real_seconds(void);
> +
> +/*
> + * ktime_t based interfaces
> + */
> +
> +enum tk_offsets {
> +	TK_OFFS_REAL,
> +	TK_OFFS_BOOT,
> +	TK_OFFS_TAI,
> +	TK_OFFS_MAX,
> +};
> +
> +extern ktime_t ktime_get(void);
> +extern ktime_t ktime_get_with_offset(enum tk_offsets offs);
> +extern ktime_t ktime_get_coarse_with_offset(enum tk_offsets offs);
> +extern ktime_t ktime_mono_to_any(ktime_t tmono, enum tk_offsets offs);
> +extern ktime_t ktime_get_raw(void);
> +extern u32 ktime_get_resolution_ns(void);
> +
> +/**
> + * ktime_get_real - get the real (wall-) time in ktime_t format
> + */
> +static inline ktime_t ktime_get_real(void)
> +{
> +	return ktime_get_with_offset(TK_OFFS_REAL);
> +}
> +
> +static inline ktime_t ktime_get_coarse_real(void)
> +{
> +	return ktime_get_coarse_with_offset(TK_OFFS_REAL);
> +}
> +
> +/**
> + * ktime_get_boottime - Returns monotonic time since boot in ktime_t format
> + *
> + * This is similar to CLOCK_MONTONIC/ktime_get, but also includes the
> + * time spent in suspend.
> + */
> +static inline ktime_t ktime_get_boottime(void)
> +{
> +	return ktime_get_with_offset(TK_OFFS_BOOT);
> +}
> +
> +static inline ktime_t ktime_get_coarse_boottime(void)
> +{
> +	return ktime_get_coarse_with_offset(TK_OFFS_BOOT);
> +}
> +
> +/**
> + * ktime_get_clocktai - Returns the TAI time of day in ktime_t format
> + */
> +static inline ktime_t ktime_get_clocktai(void)
> +{
> +	return ktime_get_with_offset(TK_OFFS_TAI);
> +}
> +
> +static inline ktime_t ktime_get_coarse_clocktai(void)
> +{
> +	return ktime_get_coarse_with_offset(TK_OFFS_TAI);
> +}
> +
> +static inline ktime_t ktime_get_coarse(void)
> +{
> +	struct timespec64 ts;
> +
> +	ktime_get_coarse_ts64(&ts);
> +	return timespec64_to_ktime(ts);
> +}
> +
> +static inline u64 ktime_get_coarse_ns(void)
> +{
> +	return ktime_to_ns(ktime_get_coarse());
> +}
> +
> +static inline u64 ktime_get_coarse_real_ns(void)
> +{
> +	return ktime_to_ns(ktime_get_coarse_real());
> +}
> +
> +static inline u64 ktime_get_coarse_boottime_ns(void)
> +{
> +	return ktime_to_ns(ktime_get_coarse_boottime());
> +}
> +
> +static inline u64 ktime_get_coarse_clocktai_ns(void)
> +{
> +	return ktime_to_ns(ktime_get_coarse_clocktai());
> +}
> +
> +/**
> + * ktime_mono_to_real - Convert monotonic time to clock realtime
> + */
> +static inline ktime_t ktime_mono_to_real(ktime_t mono)
> +{
> +	return ktime_mono_to_any(mono, TK_OFFS_REAL);
> +}
> +
> +static inline u64 ktime_get_ns(void)
> +{
> +	return ktime_to_ns(ktime_get());
> +}
> +
> +static inline u64 ktime_get_real_ns(void)
> +{
> +	return ktime_to_ns(ktime_get_real());
> +}
> +
> +static inline u64 ktime_get_boottime_ns(void)
> +{
> +	return ktime_to_ns(ktime_get_boottime());
> +}
> +
> +static inline u64 ktime_get_clocktai_ns(void)
> +{
> +	return ktime_to_ns(ktime_get_clocktai());
> +}
> +
> +static inline u64 ktime_get_raw_ns(void)
> +{
> +	return ktime_to_ns(ktime_get_raw());
> +}
> +
> +extern u64 ktime_get_mono_fast_ns(void);
> +extern u64 ktime_get_raw_fast_ns(void);
> +extern u64 ktime_get_boot_fast_ns(void);
> +extern u64 ktime_get_real_fast_ns(void);
> +
> +/*
> + * timespec64/time64_t interfaces utilizing the ktime based ones
> + * for API completeness, these could be implemented more efficiently
> + * if needed.
> + */
> +static inline void ktime_get_boottime_ts64(struct timespec64 *ts)
> +{
> +	*ts = ktime_to_timespec64(ktime_get_boottime());
> +}
> +
> +static inline void ktime_get_coarse_boottime_ts64(struct timespec64 *ts)
> +{
> +	*ts = ktime_to_timespec64(ktime_get_coarse_boottime());
> +}
> +
> +static inline time64_t ktime_get_boottime_seconds(void)
> +{
> +	return ktime_divns(ktime_get_coarse_boottime(), NSEC_PER_SEC);
> +}
> +
> +static inline void ktime_get_clocktai_ts64(struct timespec64 *ts)
> +{
> +	*ts = ktime_to_timespec64(ktime_get_clocktai());
> +}
> +
> +static inline void ktime_get_coarse_clocktai_ts64(struct timespec64 *ts)
> +{
> +	*ts = ktime_to_timespec64(ktime_get_coarse_clocktai());
> +}
> +
> +static inline time64_t ktime_get_clocktai_seconds(void)
> +{
> +	return ktime_divns(ktime_get_coarse_clocktai(), NSEC_PER_SEC);
> +}
> +
> +#endif /* _LINUX_KTIME_H */
> diff --git a/include/linux/pps_kernel.h b/include/linux/pps_kernel.h
> index 78c8ac4951b5..24970c202ac6 100644
> --- a/include/linux/pps_kernel.h
> +++ b/include/linux/pps_kernel.h
> @@ -12,6 +12,7 @@
>  #include <linux/cdev.h>
>  #include <linux/device.h>
>  #include <linux/time.h>
> +#include <linux/timekeeping.h>
>  
>  /*
>   * Global defines
> diff --git a/include/linux/sched_clock.h b/include/linux/sched_clock.h
> index 835ee87ed792..f0fa287710da 100644
> --- a/include/linux/sched_clock.h
> +++ b/include/linux/sched_clock.h
> @@ -5,6 +5,8 @@
>  #ifndef LINUX_SCHED_CLOCK
>  #define LINUX_SCHED_CLOCK
>  
> +#include <linux/timekeeping.h>
> +
>  #ifdef CONFIG_GENERIC_SCHED_CLOCK
>  /**
>   * struct clock_read_data - data required to read from sched_clock()
> diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
> index a6f03b36fc4f..bf235ff101d5 100644
> --- a/include/linux/stmmac.h
> +++ b/include/linux/stmmac.h
> @@ -14,6 +14,7 @@
>  
>  #include <linux/platform_device.h>
>  #include <linux/phy.h>
> +#include <linux/timekeeping.h>
>  
>  #define MTL_MAX_RX_QUEUES	8
>  #define MTL_MAX_TX_QUEUES	8
> diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h
> index 78a98bdff76d..b1c54f5ff91e 100644
> --- a/include/linux/timekeeping.h
> +++ b/include/linux/timekeeping.h
> @@ -19,201 +19,6 @@ extern void legacy_timer_tick(unsigned long ticks);
>  extern int do_settimeofday64(const struct timespec64 *ts);
>  extern int do_sys_settimeofday64(const struct timespec64 *tv,
>  				 const struct timezone *tz);
> -
> -/*
> - * ktime_get() family: read the current time in a multitude of ways,
> - *
> - * The default time reference is CLOCK_MONOTONIC, starting at
> - * boot time but not counting the time spent in suspend.
> - * For other references, use the functions with "real", "clocktai",
> - * "boottime" and "raw" suffixes.
> - *
> - * To get the time in a different format, use the ones wit
> - * "ns", "ts64" and "seconds" suffix.
> - *
> - * See Documentation/core-api/timekeeping.rst for more details.
> - */
> -
> -
> -/*
> - * timespec64 based interfaces
> - */
> -extern void ktime_get_raw_ts64(struct timespec64 *ts);
> -extern void ktime_get_ts64(struct timespec64 *ts);
> -extern void ktime_get_real_ts64(struct timespec64 *tv);
> -extern void ktime_get_coarse_ts64(struct timespec64 *ts);
> -extern void ktime_get_coarse_real_ts64(struct timespec64 *ts);
> -
> -void getboottime64(struct timespec64 *ts);
> -
> -/*
> - * time64_t base interfaces
> - */
> -extern time64_t ktime_get_seconds(void);
> -extern time64_t __ktime_get_real_seconds(void);
> -extern time64_t ktime_get_real_seconds(void);
> -
> -/*
> - * ktime_t based interfaces
> - */
> -
> -enum tk_offsets {
> -	TK_OFFS_REAL,
> -	TK_OFFS_BOOT,
> -	TK_OFFS_TAI,
> -	TK_OFFS_MAX,
> -};
> -
> -extern ktime_t ktime_get(void);
> -extern ktime_t ktime_get_with_offset(enum tk_offsets offs);
> -extern ktime_t ktime_get_coarse_with_offset(enum tk_offsets offs);
> -extern ktime_t ktime_mono_to_any(ktime_t tmono, enum tk_offsets offs);
> -extern ktime_t ktime_get_raw(void);
> -extern u32 ktime_get_resolution_ns(void);
> -
> -/**
> - * ktime_get_real - get the real (wall-) time in ktime_t format
> - */
> -static inline ktime_t ktime_get_real(void)
> -{
> -	return ktime_get_with_offset(TK_OFFS_REAL);
> -}
> -
> -static inline ktime_t ktime_get_coarse_real(void)
> -{
> -	return ktime_get_coarse_with_offset(TK_OFFS_REAL);
> -}
> -
> -/**
> - * ktime_get_boottime - Returns monotonic time since boot in ktime_t format
> - *
> - * This is similar to CLOCK_MONTONIC/ktime_get, but also includes the
> - * time spent in suspend.
> - */
> -static inline ktime_t ktime_get_boottime(void)
> -{
> -	return ktime_get_with_offset(TK_OFFS_BOOT);
> -}
> -
> -static inline ktime_t ktime_get_coarse_boottime(void)
> -{
> -	return ktime_get_coarse_with_offset(TK_OFFS_BOOT);
> -}
> -
> -/**
> - * ktime_get_clocktai - Returns the TAI time of day in ktime_t format
> - */
> -static inline ktime_t ktime_get_clocktai(void)
> -{
> -	return ktime_get_with_offset(TK_OFFS_TAI);
> -}
> -
> -static inline ktime_t ktime_get_coarse_clocktai(void)
> -{
> -	return ktime_get_coarse_with_offset(TK_OFFS_TAI);
> -}
> -
> -static inline ktime_t ktime_get_coarse(void)
> -{
> -	struct timespec64 ts;
> -
> -	ktime_get_coarse_ts64(&ts);
> -	return timespec64_to_ktime(ts);
> -}
> -
> -static inline u64 ktime_get_coarse_ns(void)
> -{
> -	return ktime_to_ns(ktime_get_coarse());
> -}
> -
> -static inline u64 ktime_get_coarse_real_ns(void)
> -{
> -	return ktime_to_ns(ktime_get_coarse_real());
> -}
> -
> -static inline u64 ktime_get_coarse_boottime_ns(void)
> -{
> -	return ktime_to_ns(ktime_get_coarse_boottime());
> -}
> -
> -static inline u64 ktime_get_coarse_clocktai_ns(void)
> -{
> -	return ktime_to_ns(ktime_get_coarse_clocktai());
> -}
> -
> -/**
> - * ktime_mono_to_real - Convert monotonic time to clock realtime
> - */
> -static inline ktime_t ktime_mono_to_real(ktime_t mono)
> -{
> -	return ktime_mono_to_any(mono, TK_OFFS_REAL);
> -}
> -
> -static inline u64 ktime_get_ns(void)
> -{
> -	return ktime_to_ns(ktime_get());
> -}
> -
> -static inline u64 ktime_get_real_ns(void)
> -{
> -	return ktime_to_ns(ktime_get_real());
> -}
> -
> -static inline u64 ktime_get_boottime_ns(void)
> -{
> -	return ktime_to_ns(ktime_get_boottime());
> -}
> -
> -static inline u64 ktime_get_clocktai_ns(void)
> -{
> -	return ktime_to_ns(ktime_get_clocktai());
> -}
> -
> -static inline u64 ktime_get_raw_ns(void)
> -{
> -	return ktime_to_ns(ktime_get_raw());
> -}
> -
> -extern u64 ktime_get_mono_fast_ns(void);
> -extern u64 ktime_get_raw_fast_ns(void);
> -extern u64 ktime_get_boot_fast_ns(void);
> -extern u64 ktime_get_real_fast_ns(void);
> -
> -/*
> - * timespec64/time64_t interfaces utilizing the ktime based ones
> - * for API completeness, these could be implemented more efficiently
> - * if needed.
> - */
> -static inline void ktime_get_boottime_ts64(struct timespec64 *ts)
> -{
> -	*ts = ktime_to_timespec64(ktime_get_boottime());
> -}
> -
> -static inline void ktime_get_coarse_boottime_ts64(struct timespec64 *ts)
> -{
> -	*ts = ktime_to_timespec64(ktime_get_coarse_boottime());
> -}
> -
> -static inline time64_t ktime_get_boottime_seconds(void)
> -{
> -	return ktime_divns(ktime_get_coarse_boottime(), NSEC_PER_SEC);
> -}
> -
> -static inline void ktime_get_clocktai_ts64(struct timespec64 *ts)
> -{
> -	*ts = ktime_to_timespec64(ktime_get_clocktai());
> -}
> -
> -static inline void ktime_get_coarse_clocktai_ts64(struct timespec64 *ts)
> -{
> -	*ts = ktime_to_timespec64(ktime_get_coarse_clocktai());
> -}
> -
> -static inline time64_t ktime_get_clocktai_seconds(void)
> -{
> -	return ktime_divns(ktime_get_coarse_clocktai(), NSEC_PER_SEC);
> -}
> -
>  /*
>   * RTC specific
>   */
> @@ -308,4 +113,4 @@ void read_persistent_wall_and_boot_offset(struct timespec64 *wall_clock,
>  extern int update_persistent_clock64(struct timespec64 now);
>  #endif
>  
> -#endif
> +#endif /* _LINUX_TIMEKEEPING_H */
> diff --git a/init/main.c b/init/main.c
> index bb984ed79de0..6a6f85e9404f 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -99,6 +99,7 @@
>  #include <linux/kcsan.h>
>  #include <linux/init_syscalls.h>
>  #include <linux/stackdepot.h>
> +#include <linux/timekeeping.h>
>  
>  #include <asm/io.h>
>  #include <asm/bugs.h>
> diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
> index 406dccb79c2b..804f06801737 100644
> --- a/kernel/time/ntp.c
> +++ b/kernel/time/ntp.c
> @@ -18,6 +18,7 @@
>  #include <linux/module.h>
>  #include <linux/rtc.h>
>  #include <linux/audit.h>
> +#include <linux/timekeeping.h>
>  
>  #include "ntp_internal.h"
>  #include "timekeeping_internal.h"
> diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
> index 1cd10b102c51..410a9336748e 100644
> --- a/kernel/time/posix-timers.c
> +++ b/kernel/time/posix-timers.c
> @@ -13,6 +13,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/slab.h>
>  #include <linux/time.h>
> +#include <linux/timekeeping.h>
>  #include <linux/mutex.h>
>  #include <linux/sched/task.h>
>  
> diff --git a/kernel/time/tick-legacy.c b/kernel/time/tick-legacy.c
> index af225b32f5b3..9a534f716462 100644
> --- a/kernel/time/tick-legacy.c
> +++ b/kernel/time/tick-legacy.c
> @@ -7,6 +7,7 @@
>  #include <linux/irq.h>
>  #include <linux/profile.h>
>  #include <linux/timekeeper_internal.h>
> +#include <linux/timekeeping.h>
>  
>  #include "tick-internal.h"
>  
> diff --git a/kernel/time/time.c b/kernel/time/time.c
> index 29923b20e0e4..7292ed074742 100644
> --- a/kernel/time/time.c
> +++ b/kernel/time/time.c
> @@ -29,6 +29,7 @@
>  #include <linux/timex.h>
>  #include <linux/capability.h>
>  #include <linux/timekeeper_internal.h>
> +#include <linux/timekeeping.h>
>  #include <linux/errno.h>
>  #include <linux/syscalls.h>
>  #include <linux/security.h>
> diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
> index b348749a9fc6..d234cb8a97fe 100644
> --- a/kernel/time/timekeeping.c
> +++ b/kernel/time/timekeeping.c
> @@ -22,6 +22,7 @@
>  #include <linux/pvclock_gtod.h>
>  #include <linux/compiler.h>
>  #include <linux/audit.h>
> +#include <linux/timekeeping.h>
>  
>  #include "tick-internal.h"
>  #include "ntp_internal.h"
> diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c
> index 930ae4002a81..8014f02e4443 100644
> --- a/sound/pci/hda/hda_controller.c
> +++ b/sound/pci/hda/hda_controller.c
> @@ -16,6 +16,7 @@
>  #include <linux/module.h>
>  #include <linux/pm_runtime.h>
>  #include <linux/slab.h>
> +#include <linux/timekeeping.h>
>  
>  #ifdef CONFIG_X86
>  /* for art-tsc conversion */
> -- 
> 2.27.0
> 

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply

* [PATCH v2 1/2] lib/raid6/test/Makefile: Use `$(pound)` instead of `\#` for Make 4.3
From: Paul Menzel @ 2022-02-08 15:21 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh
  Cc: Paul Menzel, linux-kernel, Matt Brown, linux-raid, Song Liu,
	netdev, bpf, linuxppc-dev

Buidling `raid6test` on Ubuntu 21.10 (ppc64le) with GNU Make 4.3 shows the
errors below:

    $ cd lib/raid6/test/
    $ make
    <stdin>:1:1: error: stray ‘\’ in program
    <stdin>:1:2: error: stray ‘#’ in program
    <stdin>:1:11: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
    cp -f ../int.uc int.uc
    awk -f ../unroll.awk -vN=1 < int.uc > int1.c
    gcc -I.. -I ../../../include -g -O2                      -c -o int1.o int1.c
    awk -f ../unroll.awk -vN=2 < int.uc > int2.c
    gcc -I.. -I ../../../include -g -O2                      -c -o int2.o int2.c
    awk -f ../unroll.awk -vN=4 < int.uc > int4.c
    gcc -I.. -I ../../../include -g -O2                      -c -o int4.o int4.c
    awk -f ../unroll.awk -vN=8 < int.uc > int8.c
    gcc -I.. -I ../../../include -g -O2                      -c -o int8.o int8.c
    awk -f ../unroll.awk -vN=16 < int.uc > int16.c
    gcc -I.. -I ../../../include -g -O2                      -c -o int16.o int16.c
    awk -f ../unroll.awk -vN=32 < int.uc > int32.c
    gcc -I.. -I ../../../include -g -O2                      -c -o int32.o int32.c
    rm -f raid6.a
    ar cq raid6.a int1.o int2.o int4.o int8.o int16.o int32.o recov.o algos.o tables.o
    ranlib raid6.a
    gcc -I.. -I ../../../include -g -O2                      -o raid6test test.c raid6.a
    /usr/bin/ld: raid6.a(algos.o):/dev/shm/linux/lib/raid6/test/algos.c:28: multiple definition of `raid6_call'; /scratch/local/ccIJjN8s.o:/dev/shm/linux/lib/raid6/test/test.c:22: first defined here
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:72: raid6test] Error 1

The errors come from the `HAS_ALTIVEC` test, which fails, and the POWER
optimized versions are not built. That’s also reason nobody noticed on the
other architectures.

GNU Make 4.3 does not remove the backslash anymore. From the 4.3 release
announcment:

> * WARNING: Backward-incompatibility!
>   Number signs (#) appearing inside a macro reference or function invocation
>   no longer introduce comments and should not be escaped with backslashes:
>   thus a call such as:
>     foo := $(shell echo '#')
>   is legal.  Previously the number sign needed to be escaped, for example:
>     foo := $(shell echo '\#')
>   Now this latter will resolve to "\#".  If you want to write makefiles
>   portable to both versions, assign the number sign to a variable:
>     H := \#
>     foo := $(shell echo '$H')
>   This was claimed to be fixed in 3.81, but wasn't, for some reason.
>   To detect this change search for 'nocomment' in the .FEATURES variable.

So, do the same as commit 9564a8cf422d ("Kbuild: fix # escaping in .cmd
files for future Make") and commit 929bef467771 ("bpf: Use $(pound) instead
of \# in Makefiles") and define and use a `$(pound)` variable.

Reference for the change in make:
https://git.savannah.gnu.org/cgit/make.git/commit/?id=c6966b323811c37acedff05b57

Cc: Matt Brown <matthew.brown.dev@gmail.com>
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
---
v2: Fix checkpatch.pl errors by adding missing quotes around git commit
message summary/title.

 lib/raid6/test/Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile
index a4c7cd74cff5..4fb7700a741b 100644
--- a/lib/raid6/test/Makefile
+++ b/lib/raid6/test/Makefile
@@ -4,6 +4,8 @@
 # from userspace.
 #
 
+pound := \#
+
 CC	 = gcc
 OPTFLAGS = -O2			# Adjust as desired
 CFLAGS	 = -I.. -I ../../../include -g $(OPTFLAGS)
@@ -42,7 +44,7 @@ else ifeq ($(HAS_NEON),yes)
         OBJS   += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o
         CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
 else
-        HAS_ALTIVEC := $(shell printf '\#include <altivec.h>\nvector int a;\n' |\
+        HAS_ALTIVEC := $(shell printf '$(pound)include <altivec.h>\nvector int a;\n' |\
                          gcc -c -x c - >/dev/null && rm ./-.o && echo yes)
         ifeq ($(HAS_ALTIVEC),yes)
                 CFLAGS += -I../../../arch/powerpc/include
-- 
2.34.1


^ permalink raw reply related

* [PATCH v2 2/2] lib/raid6: Include <asm/ppc-opcode.h> for `VPERMXOR`
From: Paul Menzel @ 2022-02-08 15:21 UTC (permalink / raw)
  Cc: Paul Menzel, linux-kernel, Matt Brown, linux-raid, Song Liu,
	linuxppc-dev
In-Reply-To: <20220208152148.48534-1-pmenzel@molgen.mpg.de>

On Ubuntu 21.10 (ppc64le) building `raid6test` with gcc (Ubuntu
11.2.0-7ubuntu2) 11.2.0 fails with the error below.

    gcc -I.. -I ../../../include -g -O2                      -I../../../arch/powerpc/include -DCONFIG_ALTIVEC -c -o vpermxor1.o vpermxor1.c
    vpermxor1.c: In function ‘raid6_vpermxor1_gen_syndrome_real’:
    vpermxor1.c:64:29: error: expected string literal before ‘VPERMXOR’
       64 |                         asm(VPERMXOR(%0,%1,%2,%3):"=v"(wq0):"v"(gf_high), "v"(gf_low), "v"(wq0));
          |                             ^~~~~~~~
    make: *** [Makefile:58: vpermxor1.o] Error 1

So, include the header `asm/ppc-opcode.h` defining this macro also when
not building the Linux kernel but only this too.

Cc: Matt Brown <matthew.brown.dev@gmail.com>
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
---
v2: Resend

 lib/raid6/vpermxor.uc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/raid6/vpermxor.uc b/lib/raid6/vpermxor.uc
index 10475dc423c1..1bfb127fbfe8 100644
--- a/lib/raid6/vpermxor.uc
+++ b/lib/raid6/vpermxor.uc
@@ -24,9 +24,9 @@
 #ifdef CONFIG_ALTIVEC
 
 #include <altivec.h>
+#include <asm/ppc-opcode.h>
 #ifdef __KERNEL__
 #include <asm/cputable.h>
-#include <asm/ppc-opcode.h>
 #include <asm/switch_to.h>
 #endif
 
-- 
2.34.1


^ permalink raw reply related

* Re: [PATCH v2 1/4] powerpc/pseries/vas: Define global hv_cop_caps struct
From: Nathan Lynch @ 2022-02-08 15:48 UTC (permalink / raw)
  To: Haren Myneni, mpe, linuxppc-dev, npiggin
In-Reply-To: <9ffeb5567b2836ee8326d530310e4eb4f6f9f1f2.camel@linux.ibm.com>

Haren Myneni <haren@linux.ibm.com> writes:
> The coprocessor capabilities struct is used to get default and
> QoS capabilities from the hypervisor during init, DLPAR event and
> migration. So instead of allocating this struct for each event,
> define global struct and reuse it, especially eliminate memory
> allocation failure during migration.

Which allows the migration code to avoid adding an error path. I could
go either way, but this approach seems fine to me assuming all users of
the global object are guarded by an appropriate lock.

Acked-by: Nathan Lynch <nathanl@linux.ibm.com>


^ permalink raw reply

* Re: [PATCH v2 1/4] powerpc/pseries/vas: Define global hv_cop_caps struct
From: Haren Myneni @ 2022-02-08 16:00 UTC (permalink / raw)
  To: Nathan Lynch, mpe, linuxppc-dev, npiggin
In-Reply-To: <87iltps6jx.fsf@linux.ibm.com>

On Tue, 2022-02-08 at 09:48 -0600, Nathan Lynch wrote:
> Haren Myneni <haren@linux.ibm.com> writes:
> > The coprocessor capabilities struct is used to get default and
> > QoS capabilities from the hypervisor during init, DLPAR event and
> > migration. So instead of allocating this struct for each event,
> > define global struct and reuse it, especially eliminate memory
> > allocation failure during migration.
> 
> Which allows the migration code to avoid adding an error path. I
> could
> go either way, but this approach seems fine to me assuming all users
> of
> the global object are guarded by an appropriate lock.
> 
> Acked-by: Nathan Lynch <nathanl@linux.ibm.com>
> 

Thanks for your suggestion. I will change the commit message as you
suggested to make it clear. yes, this struct is accessed with mutex. 

Thanks
Haren


^ permalink raw reply

* [PATCH v2] include: linux: Reorganize timekeeping and ktime headers
From: Carlos Bilbao @ 2022-02-08 16:10 UTC (permalink / raw)
  To: john.stultz, tglx, sboyd, alexandre.belloni, gregkh
  Cc: linux-rtc, jgross, linux-ia64, kernel test robot, linux-kernel,
	rostedt, Carlos Bilbao, linux-m68k, geert, bilbao, boon.leong.ong,
	linuxppc-dev, linux-stm32, linux-arm-kernel, mhiramat

The timekeeping subsystem could use some reorganization. Reorganize and
separate the headers by making ktime.h take care of the ktime_get()
family of functions, and reserve timekeeping.h for the actual timekeeping.

This also helps to avoid implicit function errors and strengthens the
header dependencies, since timekeeping.h was using ktime_to_ns(), a static
function defined in a header it does no include, ktime.h.

Include the header timekeeping.h wherever it is necessary for a successful
compilation after the header code reorganization for all archs.

Signed-off-by: Carlos Bilbao <carlos.bilbao@amd.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reported-by: kernel test robot <lkp@intel.com>
---
Changelog:
v1: Search for 20220126200749.12090-1-carlos.bilbao@amd.com
v2: Updated commit message. Fix warnings in m68k and UML.
---
 arch/arm64/kvm/hypercalls.c    |   1 +
 arch/ia64/kernel/time.c        |   1 +
 arch/m68k/atari/time.c         |   1 +
 arch/m68k/hp300/time.c         |   2 +
 arch/m68k/kernel/time.c        |   1 +
 arch/m68k/mac/via.c            |   1 +
 arch/m68k/mvme16x/config.c     |   1 +
 arch/m68k/sun3/sun3ints.c      |   1 +
 arch/powerpc/kernel/time.c     |   1 +
 arch/um/kernel/time.c          |   1 +
 arch/x86/kernel/rtc.c          |   1 +
 arch/x86/kernel/tsc.c          |   1 +
 drivers/rtc/class.c            |   1 +
 include/linux/ktime.h          | 196 +++++++++++++++++++++++++++++++-
 include/linux/pps_kernel.h     |   1 +
 include/linux/sched_clock.h    |   2 +
 include/linux/stmmac.h         |   1 +
 include/linux/timekeeping.h    | 197 +--------------------------------
 init/main.c                    |   1 +
 kernel/time/ntp.c              |   1 +
 kernel/time/posix-timers.c     |   1 +
 kernel/time/tick-legacy.c      |   1 +
 kernel/time/time.c             |   1 +
 kernel/time/timekeeping.c      |   1 +
 sound/pci/hda/hda_controller.c |   1 +
 25 files changed, 220 insertions(+), 198 deletions(-)

diff --git a/arch/arm64/kvm/hypercalls.c b/arch/arm64/kvm/hypercalls.c
index 30da78f72b3b..41499c1d7379 100644
--- a/arch/arm64/kvm/hypercalls.c
+++ b/arch/arm64/kvm/hypercalls.c
@@ -3,6 +3,7 @@
 
 #include <linux/arm-smccc.h>
 #include <linux/kvm_host.h>
+#include <linux/timekeeping.h>
 
 #include <asm/kvm_emulate.h>
 
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index fa9c0ab8c6fc..85e79ff3c98e 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -22,6 +22,7 @@
 #include <linux/efi.h>
 #include <linux/timex.h>
 #include <linux/timekeeper_internal.h>
+#include <linux/timekeeping.h>
 #include <linux/platform_device.h>
 #include <linux/sched/cputime.h>
 
diff --git a/arch/m68k/atari/time.c b/arch/m68k/atari/time.c
index 7e44d0e9d0f8..b09d3ff40b36 100644
--- a/arch/m68k/atari/time.c
+++ b/arch/m68k/atari/time.c
@@ -19,6 +19,7 @@
 #include <linux/clocksource.h>
 #include <linux/delay.h>
 #include <linux/export.h>
+#include <linux/timekeeping.h>
 
 #include <asm/atariints.h>
 #include <asm/machdep.h>
diff --git a/arch/m68k/hp300/time.c b/arch/m68k/hp300/time.c
index 1d1b7b3b5dd4..56c575096bcb 100644
--- a/arch/m68k/hp300/time.c
+++ b/arch/m68k/hp300/time.c
@@ -14,6 +14,8 @@
 #include <linux/sched.h>
 #include <linux/kernel_stat.h>
 #include <linux/interrupt.h>
+#include <linux/timekeeping.h>
+
 #include <asm/machdep.h>
 #include <asm/irq.h>
 #include <asm/io.h>
diff --git a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c
index 340ffeea0a9d..a0cc176de430 100644
--- a/arch/m68k/kernel/time.c
+++ b/arch/m68k/kernel/time.c
@@ -28,6 +28,7 @@
 #include <asm/irq_regs.h>
 
 #include <linux/time.h>
+#include <linux/timekeeping.h>
 #include <linux/timex.h>
 #include <linux/profile.h>
 
diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c
index 3d11d6219cdd..6dd8f85288e4 100644
--- a/arch/m68k/mac/via.c
+++ b/arch/m68k/mac/via.c
@@ -31,6 +31,7 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/irq.h>
+#include <linux/timekeeping.h>
 
 #include <asm/macintosh.h>
 #include <asm/macints.h>
diff --git a/arch/m68k/mvme16x/config.c b/arch/m68k/mvme16x/config.c
index b4422c2dfbbf..ebe1dc3ebb4c 100644
--- a/arch/m68k/mvme16x/config.c
+++ b/arch/m68k/mvme16x/config.c
@@ -28,6 +28,7 @@
 #include <linux/rtc.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
+#include <linux/timekeeping.h>
 
 #include <asm/bootinfo.h>
 #include <asm/bootinfo-vme.h>
diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c
index 36cc280a4505..209dccc2aed6 100644
--- a/arch/m68k/sun3/sun3ints.c
+++ b/arch/m68k/sun3/sun3ints.c
@@ -11,6 +11,7 @@
 #include <linux/sched.h>
 #include <linux/kernel_stat.h>
 #include <linux/interrupt.h>
+#include <linux/timekeeping.h>
 #include <asm/intersil.h>
 #include <asm/oplib.h>
 #include <asm/sun3ints.h>
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index cae8f03a44fe..b577a5a06621 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -54,6 +54,7 @@
 #include <linux/of_clk.h>
 #include <linux/suspend.h>
 #include <linux/processor.h>
+#include <linux/timekeeping.h>
 #include <asm/trace.h>
 
 #include <asm/interrupt.h>
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c
index fddd1dec27e6..aa7a6d4d9659 100644
--- a/arch/um/kernel/time.c
+++ b/arch/um/kernel/time.c
@@ -20,6 +20,7 @@
 #include <kern_util.h>
 #include <os.h>
 #include <linux/time-internal.h>
+#include <linux/timekeeping.h>
 #include <linux/um_timetravel.h>
 #include <shared/init.h>
 
diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
index 586f718b8e95..98ea05cc6aeb 100644
--- a/arch/x86/kernel/rtc.c
+++ b/arch/x86/kernel/rtc.c
@@ -9,6 +9,7 @@
 #include <linux/export.h>
 #include <linux/pnp.h>
 #include <linux/of.h>
+#include <linux/timekeeping.h>
 
 #include <asm/vsyscall.h>
 #include <asm/x86_init.h>
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index a698196377be..add4388283c5 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -15,6 +15,7 @@
 #include <linux/timex.h>
 #include <linux/static_key.h>
 #include <linux/static_call.h>
+#include <linux/timekeeping.h>
 
 #include <asm/hpet.h>
 #include <asm/timer.h>
diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c
index 4b460c61f1d8..7e2bce8cf0b1 100644
--- a/drivers/rtc/class.c
+++ b/drivers/rtc/class.c
@@ -16,6 +16,7 @@
 #include <linux/kdev_t.h>
 #include <linux/idr.h>
 #include <linux/slab.h>
+#include <linux/timekeeping.h>
 #include <linux/workqueue.h>
 
 #include "rtc-core.h"
diff --git a/include/linux/ktime.h b/include/linux/ktime.h
index 73f20deb497d..07971008b795 100644
--- a/include/linux/ktime.h
+++ b/include/linux/ktime.h
@@ -229,6 +229,198 @@ static inline ktime_t ms_to_ktime(u64 ms)
 	return ms * NSEC_PER_MSEC;
 }
 
-# include <linux/timekeeping.h>
+/*
+ * ktime_get() family: read the current time in a multitude of ways,
+ *
+ * The default time reference is CLOCK_MONOTONIC, starting at
+ * boot time but not counting the time spent in suspend.
+ * For other references, use the functions with "real", "clocktai",
+ * "boottime" and "raw" suffixes.
+ *
+ * To get the time in a different format, use the ones wit
+ * "ns", "ts64" and "seconds" suffix.
+ *
+ * See Documentation/core-api/timekeeping.rst for more details.
+ */
 
-#endif
+
+/*
+ * timespec64 based interfaces
+ */
+extern void ktime_get_raw_ts64(struct timespec64 *ts);
+extern void ktime_get_ts64(struct timespec64 *ts);
+extern void ktime_get_real_ts64(struct timespec64 *tv);
+extern void ktime_get_coarse_ts64(struct timespec64 *ts);
+extern void ktime_get_coarse_real_ts64(struct timespec64 *ts);
+
+void getboottime64(struct timespec64 *ts);
+
+/*
+ * time64_t base interfaces
+ */
+extern time64_t ktime_get_seconds(void);
+extern time64_t __ktime_get_real_seconds(void);
+extern time64_t ktime_get_real_seconds(void);
+
+/*
+ * ktime_t based interfaces
+ */
+
+enum tk_offsets {
+	TK_OFFS_REAL,
+	TK_OFFS_BOOT,
+	TK_OFFS_TAI,
+	TK_OFFS_MAX,
+};
+
+extern ktime_t ktime_get(void);
+extern ktime_t ktime_get_with_offset(enum tk_offsets offs);
+extern ktime_t ktime_get_coarse_with_offset(enum tk_offsets offs);
+extern ktime_t ktime_mono_to_any(ktime_t tmono, enum tk_offsets offs);
+extern ktime_t ktime_get_raw(void);
+extern u32 ktime_get_resolution_ns(void);
+
+/**
+ * ktime_get_real - get the real (wall-) time in ktime_t format
+ */
+static inline ktime_t ktime_get_real(void)
+{
+	return ktime_get_with_offset(TK_OFFS_REAL);
+}
+
+static inline ktime_t ktime_get_coarse_real(void)
+{
+	return ktime_get_coarse_with_offset(TK_OFFS_REAL);
+}
+
+/**
+ * ktime_get_boottime - Returns monotonic time since boot in ktime_t format
+ *
+ * This is similar to CLOCK_MONTONIC/ktime_get, but also includes the
+ * time spent in suspend.
+ */
+static inline ktime_t ktime_get_boottime(void)
+{
+	return ktime_get_with_offset(TK_OFFS_BOOT);
+}
+
+static inline ktime_t ktime_get_coarse_boottime(void)
+{
+	return ktime_get_coarse_with_offset(TK_OFFS_BOOT);
+}
+
+/**
+ * ktime_get_clocktai - Returns the TAI time of day in ktime_t format
+ */
+static inline ktime_t ktime_get_clocktai(void)
+{
+	return ktime_get_with_offset(TK_OFFS_TAI);
+}
+
+static inline ktime_t ktime_get_coarse_clocktai(void)
+{
+	return ktime_get_coarse_with_offset(TK_OFFS_TAI);
+}
+
+static inline ktime_t ktime_get_coarse(void)
+{
+	struct timespec64 ts;
+
+	ktime_get_coarse_ts64(&ts);
+	return timespec64_to_ktime(ts);
+}
+
+static inline u64 ktime_get_coarse_ns(void)
+{
+	return ktime_to_ns(ktime_get_coarse());
+}
+
+static inline u64 ktime_get_coarse_real_ns(void)
+{
+	return ktime_to_ns(ktime_get_coarse_real());
+}
+
+static inline u64 ktime_get_coarse_boottime_ns(void)
+{
+	return ktime_to_ns(ktime_get_coarse_boottime());
+}
+
+static inline u64 ktime_get_coarse_clocktai_ns(void)
+{
+	return ktime_to_ns(ktime_get_coarse_clocktai());
+}
+
+/**
+ * ktime_mono_to_real - Convert monotonic time to clock realtime
+ */
+static inline ktime_t ktime_mono_to_real(ktime_t mono)
+{
+	return ktime_mono_to_any(mono, TK_OFFS_REAL);
+}
+
+static inline u64 ktime_get_ns(void)
+{
+	return ktime_to_ns(ktime_get());
+}
+
+static inline u64 ktime_get_real_ns(void)
+{
+	return ktime_to_ns(ktime_get_real());
+}
+
+static inline u64 ktime_get_boottime_ns(void)
+{
+	return ktime_to_ns(ktime_get_boottime());
+}
+
+static inline u64 ktime_get_clocktai_ns(void)
+{
+	return ktime_to_ns(ktime_get_clocktai());
+}
+
+static inline u64 ktime_get_raw_ns(void)
+{
+	return ktime_to_ns(ktime_get_raw());
+}
+
+extern u64 ktime_get_mono_fast_ns(void);
+extern u64 ktime_get_raw_fast_ns(void);
+extern u64 ktime_get_boot_fast_ns(void);
+extern u64 ktime_get_real_fast_ns(void);
+
+/*
+ * timespec64/time64_t interfaces utilizing the ktime based ones
+ * for API completeness, these could be implemented more efficiently
+ * if needed.
+ */
+static inline void ktime_get_boottime_ts64(struct timespec64 *ts)
+{
+	*ts = ktime_to_timespec64(ktime_get_boottime());
+}
+
+static inline void ktime_get_coarse_boottime_ts64(struct timespec64 *ts)
+{
+	*ts = ktime_to_timespec64(ktime_get_coarse_boottime());
+}
+
+static inline time64_t ktime_get_boottime_seconds(void)
+{
+	return ktime_divns(ktime_get_coarse_boottime(), NSEC_PER_SEC);
+}
+
+static inline void ktime_get_clocktai_ts64(struct timespec64 *ts)
+{
+	*ts = ktime_to_timespec64(ktime_get_clocktai());
+}
+
+static inline void ktime_get_coarse_clocktai_ts64(struct timespec64 *ts)
+{
+	*ts = ktime_to_timespec64(ktime_get_coarse_clocktai());
+}
+
+static inline time64_t ktime_get_clocktai_seconds(void)
+{
+	return ktime_divns(ktime_get_coarse_clocktai(), NSEC_PER_SEC);
+}
+
+#endif /* _LINUX_KTIME_H */
diff --git a/include/linux/pps_kernel.h b/include/linux/pps_kernel.h
index 78c8ac4951b5..24970c202ac6 100644
--- a/include/linux/pps_kernel.h
+++ b/include/linux/pps_kernel.h
@@ -12,6 +12,7 @@
 #include <linux/cdev.h>
 #include <linux/device.h>
 #include <linux/time.h>
+#include <linux/timekeeping.h>
 
 /*
  * Global defines
diff --git a/include/linux/sched_clock.h b/include/linux/sched_clock.h
index 835ee87ed792..f0fa287710da 100644
--- a/include/linux/sched_clock.h
+++ b/include/linux/sched_clock.h
@@ -5,6 +5,8 @@
 #ifndef LINUX_SCHED_CLOCK
 #define LINUX_SCHED_CLOCK
 
+#include <linux/timekeeping.h>
+
 #ifdef CONFIG_GENERIC_SCHED_CLOCK
 /**
  * struct clock_read_data - data required to read from sched_clock()
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index a6f03b36fc4f..bf235ff101d5 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -14,6 +14,7 @@
 
 #include <linux/platform_device.h>
 #include <linux/phy.h>
+#include <linux/timekeeping.h>
 
 #define MTL_MAX_RX_QUEUES	8
 #define MTL_MAX_TX_QUEUES	8
diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h
index 78a98bdff76d..b1c54f5ff91e 100644
--- a/include/linux/timekeeping.h
+++ b/include/linux/timekeeping.h
@@ -19,201 +19,6 @@ extern void legacy_timer_tick(unsigned long ticks);
 extern int do_settimeofday64(const struct timespec64 *ts);
 extern int do_sys_settimeofday64(const struct timespec64 *tv,
 				 const struct timezone *tz);
-
-/*
- * ktime_get() family: read the current time in a multitude of ways,
- *
- * The default time reference is CLOCK_MONOTONIC, starting at
- * boot time but not counting the time spent in suspend.
- * For other references, use the functions with "real", "clocktai",
- * "boottime" and "raw" suffixes.
- *
- * To get the time in a different format, use the ones wit
- * "ns", "ts64" and "seconds" suffix.
- *
- * See Documentation/core-api/timekeeping.rst for more details.
- */
-
-
-/*
- * timespec64 based interfaces
- */
-extern void ktime_get_raw_ts64(struct timespec64 *ts);
-extern void ktime_get_ts64(struct timespec64 *ts);
-extern void ktime_get_real_ts64(struct timespec64 *tv);
-extern void ktime_get_coarse_ts64(struct timespec64 *ts);
-extern void ktime_get_coarse_real_ts64(struct timespec64 *ts);
-
-void getboottime64(struct timespec64 *ts);
-
-/*
- * time64_t base interfaces
- */
-extern time64_t ktime_get_seconds(void);
-extern time64_t __ktime_get_real_seconds(void);
-extern time64_t ktime_get_real_seconds(void);
-
-/*
- * ktime_t based interfaces
- */
-
-enum tk_offsets {
-	TK_OFFS_REAL,
-	TK_OFFS_BOOT,
-	TK_OFFS_TAI,
-	TK_OFFS_MAX,
-};
-
-extern ktime_t ktime_get(void);
-extern ktime_t ktime_get_with_offset(enum tk_offsets offs);
-extern ktime_t ktime_get_coarse_with_offset(enum tk_offsets offs);
-extern ktime_t ktime_mono_to_any(ktime_t tmono, enum tk_offsets offs);
-extern ktime_t ktime_get_raw(void);
-extern u32 ktime_get_resolution_ns(void);
-
-/**
- * ktime_get_real - get the real (wall-) time in ktime_t format
- */
-static inline ktime_t ktime_get_real(void)
-{
-	return ktime_get_with_offset(TK_OFFS_REAL);
-}
-
-static inline ktime_t ktime_get_coarse_real(void)
-{
-	return ktime_get_coarse_with_offset(TK_OFFS_REAL);
-}
-
-/**
- * ktime_get_boottime - Returns monotonic time since boot in ktime_t format
- *
- * This is similar to CLOCK_MONTONIC/ktime_get, but also includes the
- * time spent in suspend.
- */
-static inline ktime_t ktime_get_boottime(void)
-{
-	return ktime_get_with_offset(TK_OFFS_BOOT);
-}
-
-static inline ktime_t ktime_get_coarse_boottime(void)
-{
-	return ktime_get_coarse_with_offset(TK_OFFS_BOOT);
-}
-
-/**
- * ktime_get_clocktai - Returns the TAI time of day in ktime_t format
- */
-static inline ktime_t ktime_get_clocktai(void)
-{
-	return ktime_get_with_offset(TK_OFFS_TAI);
-}
-
-static inline ktime_t ktime_get_coarse_clocktai(void)
-{
-	return ktime_get_coarse_with_offset(TK_OFFS_TAI);
-}
-
-static inline ktime_t ktime_get_coarse(void)
-{
-	struct timespec64 ts;
-
-	ktime_get_coarse_ts64(&ts);
-	return timespec64_to_ktime(ts);
-}
-
-static inline u64 ktime_get_coarse_ns(void)
-{
-	return ktime_to_ns(ktime_get_coarse());
-}
-
-static inline u64 ktime_get_coarse_real_ns(void)
-{
-	return ktime_to_ns(ktime_get_coarse_real());
-}
-
-static inline u64 ktime_get_coarse_boottime_ns(void)
-{
-	return ktime_to_ns(ktime_get_coarse_boottime());
-}
-
-static inline u64 ktime_get_coarse_clocktai_ns(void)
-{
-	return ktime_to_ns(ktime_get_coarse_clocktai());
-}
-
-/**
- * ktime_mono_to_real - Convert monotonic time to clock realtime
- */
-static inline ktime_t ktime_mono_to_real(ktime_t mono)
-{
-	return ktime_mono_to_any(mono, TK_OFFS_REAL);
-}
-
-static inline u64 ktime_get_ns(void)
-{
-	return ktime_to_ns(ktime_get());
-}
-
-static inline u64 ktime_get_real_ns(void)
-{
-	return ktime_to_ns(ktime_get_real());
-}
-
-static inline u64 ktime_get_boottime_ns(void)
-{
-	return ktime_to_ns(ktime_get_boottime());
-}
-
-static inline u64 ktime_get_clocktai_ns(void)
-{
-	return ktime_to_ns(ktime_get_clocktai());
-}
-
-static inline u64 ktime_get_raw_ns(void)
-{
-	return ktime_to_ns(ktime_get_raw());
-}
-
-extern u64 ktime_get_mono_fast_ns(void);
-extern u64 ktime_get_raw_fast_ns(void);
-extern u64 ktime_get_boot_fast_ns(void);
-extern u64 ktime_get_real_fast_ns(void);
-
-/*
- * timespec64/time64_t interfaces utilizing the ktime based ones
- * for API completeness, these could be implemented more efficiently
- * if needed.
- */
-static inline void ktime_get_boottime_ts64(struct timespec64 *ts)
-{
-	*ts = ktime_to_timespec64(ktime_get_boottime());
-}
-
-static inline void ktime_get_coarse_boottime_ts64(struct timespec64 *ts)
-{
-	*ts = ktime_to_timespec64(ktime_get_coarse_boottime());
-}
-
-static inline time64_t ktime_get_boottime_seconds(void)
-{
-	return ktime_divns(ktime_get_coarse_boottime(), NSEC_PER_SEC);
-}
-
-static inline void ktime_get_clocktai_ts64(struct timespec64 *ts)
-{
-	*ts = ktime_to_timespec64(ktime_get_clocktai());
-}
-
-static inline void ktime_get_coarse_clocktai_ts64(struct timespec64 *ts)
-{
-	*ts = ktime_to_timespec64(ktime_get_coarse_clocktai());
-}
-
-static inline time64_t ktime_get_clocktai_seconds(void)
-{
-	return ktime_divns(ktime_get_coarse_clocktai(), NSEC_PER_SEC);
-}
-
 /*
  * RTC specific
  */
@@ -308,4 +113,4 @@ void read_persistent_wall_and_boot_offset(struct timespec64 *wall_clock,
 extern int update_persistent_clock64(struct timespec64 now);
 #endif
 
-#endif
+#endif /* _LINUX_TIMEKEEPING_H */
diff --git a/init/main.c b/init/main.c
index bb984ed79de0..6a6f85e9404f 100644
--- a/init/main.c
+++ b/init/main.c
@@ -99,6 +99,7 @@
 #include <linux/kcsan.h>
 #include <linux/init_syscalls.h>
 #include <linux/stackdepot.h>
+#include <linux/timekeeping.h>
 
 #include <asm/io.h>
 #include <asm/bugs.h>
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 406dccb79c2b..804f06801737 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -18,6 +18,7 @@
 #include <linux/module.h>
 #include <linux/rtc.h>
 #include <linux/audit.h>
+#include <linux/timekeeping.h>
 
 #include "ntp_internal.h"
 #include "timekeeping_internal.h"
diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
index 1cd10b102c51..410a9336748e 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -13,6 +13,7 @@
 #include <linux/interrupt.h>
 #include <linux/slab.h>
 #include <linux/time.h>
+#include <linux/timekeeping.h>
 #include <linux/mutex.h>
 #include <linux/sched/task.h>
 
diff --git a/kernel/time/tick-legacy.c b/kernel/time/tick-legacy.c
index af225b32f5b3..9a534f716462 100644
--- a/kernel/time/tick-legacy.c
+++ b/kernel/time/tick-legacy.c
@@ -7,6 +7,7 @@
 #include <linux/irq.h>
 #include <linux/profile.h>
 #include <linux/timekeeper_internal.h>
+#include <linux/timekeeping.h>
 
 #include "tick-internal.h"
 
diff --git a/kernel/time/time.c b/kernel/time/time.c
index 29923b20e0e4..7292ed074742 100644
--- a/kernel/time/time.c
+++ b/kernel/time/time.c
@@ -29,6 +29,7 @@
 #include <linux/timex.h>
 #include <linux/capability.h>
 #include <linux/timekeeper_internal.h>
+#include <linux/timekeeping.h>
 #include <linux/errno.h>
 #include <linux/syscalls.h>
 #include <linux/security.h>
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index b348749a9fc6..d234cb8a97fe 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -22,6 +22,7 @@
 #include <linux/pvclock_gtod.h>
 #include <linux/compiler.h>
 #include <linux/audit.h>
+#include <linux/timekeeping.h>
 
 #include "tick-internal.h"
 #include "ntp_internal.h"
diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c
index 930ae4002a81..8014f02e4443 100644
--- a/sound/pci/hda/hda_controller.c
+++ b/sound/pci/hda/hda_controller.c
@@ -16,6 +16,7 @@
 #include <linux/module.h>
 #include <linux/pm_runtime.h>
 #include <linux/slab.h>
+#include <linux/timekeeping.h>
 
 #ifdef CONFIG_X86
 /* for art-tsc conversion */
-- 
2.27.0


^ permalink raw reply related

* Re: [PATCH v2 1/2] lib/raid6/test/Makefile: Use `$(pound)` instead of `\#` for Make 4.3
From: Song Liu @ 2022-02-08 17:58 UTC (permalink / raw)
  To: Paul Menzel
  Cc: Song Liu, Daniel Borkmann, John Fastabend, Alexei Starovoitov,
	Andrii Nakryiko, linux-raid, Networking, KP Singh, Yonghong Song,
	bpf, Matt Brown, linuxppc-dev, Martin KaFai Lau, open list
In-Reply-To: <20220208152148.48534-1-pmenzel@molgen.mpg.de>

On Tue, Feb 8, 2022 at 7:22 AM Paul Menzel <pmenzel@molgen.mpg.de> wrote:
>
> Buidling `raid6test` on Ubuntu 21.10 (ppc64le) with GNU Make 4.3 shows the
> errors below:
>
>     $ cd lib/raid6/test/
>     $ make
>     <stdin>:1:1: error: stray ‘\’ in program
>     <stdin>:1:2: error: stray ‘#’ in program
>     <stdin>:1:11: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
>     cp -f ../int.uc int.uc
>     awk -f ../unroll.awk -vN=1 < int.uc > int1.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int1.o int1.c
>     awk -f ../unroll.awk -vN=2 < int.uc > int2.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int2.o int2.c
>     awk -f ../unroll.awk -vN=4 < int.uc > int4.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int4.o int4.c
>     awk -f ../unroll.awk -vN=8 < int.uc > int8.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int8.o int8.c
>     awk -f ../unroll.awk -vN=16 < int.uc > int16.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int16.o int16.c
>     awk -f ../unroll.awk -vN=32 < int.uc > int32.c
>     gcc -I.. -I ../../../include -g -O2                      -c -o int32.o int32.c
>     rm -f raid6.a
>     ar cq raid6.a int1.o int2.o int4.o int8.o int16.o int32.o recov.o algos.o tables.o
>     ranlib raid6.a
>     gcc -I.. -I ../../../include -g -O2                      -o raid6test test.c raid6.a
>     /usr/bin/ld: raid6.a(algos.o):/dev/shm/linux/lib/raid6/test/algos.c:28: multiple definition of `raid6_call'; /scratch/local/ccIJjN8s.o:/dev/shm/linux/lib/raid6/test/test.c:22: first defined here
>     collect2: error: ld returned 1 exit status
>     make: *** [Makefile:72: raid6test] Error 1
>
> The errors come from the `HAS_ALTIVEC` test, which fails, and the POWER
> optimized versions are not built. That’s also reason nobody noticed on the
> other architectures.
>
> GNU Make 4.3 does not remove the backslash anymore. From the 4.3 release
> announcment:
>
> > * WARNING: Backward-incompatibility!
> >   Number signs (#) appearing inside a macro reference or function invocation
> >   no longer introduce comments and should not be escaped with backslashes:
> >   thus a call such as:
> >     foo := $(shell echo '#')
> >   is legal.  Previously the number sign needed to be escaped, for example:
> >     foo := $(shell echo '\#')
> >   Now this latter will resolve to "\#".  If you want to write makefiles
> >   portable to both versions, assign the number sign to a variable:
> >     H := \#
> >     foo := $(shell echo '$H')
> >   This was claimed to be fixed in 3.81, but wasn't, for some reason.
> >   To detect this change search for 'nocomment' in the .FEATURES variable.
>
> So, do the same as commit 9564a8cf422d ("Kbuild: fix # escaping in .cmd
> files for future Make") and commit 929bef467771 ("bpf: Use $(pound) instead
> of \# in Makefiles") and define and use a `$(pound)` variable.
>
> Reference for the change in make:
> https://git.savannah.gnu.org/cgit/make.git/commit/?id=c6966b323811c37acedff05b57
>
> Cc: Matt Brown <matthew.brown.dev@gmail.com>
> Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>

I removed all the "`", fixed some unwrapped commit log, shortened some lines
and applied the set to md-next. Please review that version and let me know if
anything need to change.

Thanks,
Song

^ permalink raw reply

* Re: [PATCH v3 4/6] modules: Add CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
From: Michal Suchánek @ 2022-02-08 18:40 UTC (permalink / raw)
  To: Luis Chamberlain
  Cc: linux-arch@vger.kernel.org, Daniel Thompson, Douglas Anderson,
	kgdb-bugreport@lists.sourceforge.net, Jessica Yu, Lucas De Marchi,
	linux-kernel@vger.kernel.org, Lucas De Marchi, Jason Wessel,
	linux-mm@kvack.org, Aaron Tomlin, linuxppc-dev@lists.ozlabs.org
In-Reply-To: <YfwyKR1xFaApWjRb@bombadil.infradead.org>

Hello,

On Thu, Feb 03, 2022 at 11:51:05AM -0800, Luis Chamberlain wrote:
> On Thu, Feb 03, 2022 at 07:05:13AM +0000, Christophe Leroy wrote:
> > Le 03/02/2022 à 01:01, Luis Chamberlain a écrit :
> > > On Sat, Jan 29, 2022 at 05:02:09PM +0000, Christophe Leroy wrote:
> > >> diff --git a/kernel/module.c b/kernel/module.c
> > >> index 11f51e17fb9f..f3758115ebaa 100644
> > >> --- a/kernel/module.c
> > >> +++ b/kernel/module.c
> > >> @@ -81,7 +81,9 @@
> > >>   /* If this is set, the section belongs in the init part of the module */
> > >>   #define INIT_OFFSET_MASK (1UL << (BITS_PER_LONG-1))
> > >>   
> > >> +#ifndef CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
> > >>   #define	data_layout core_layout
> > >> +#endif
> > >>   
> > >>   /*
> > >>    * Mutex protects:
> > >> @@ -111,6 +113,12 @@ static struct mod_tree_root {
> > >>   #define module_addr_min mod_tree.addr_min
> > >>   #define module_addr_max mod_tree.addr_max
> > >>   
> > >> +#ifdef CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
> > >> +static struct mod_tree_root mod_data_tree __cacheline_aligned = {
> > >> +	.addr_min = -1UL,
> > >> +};
> > >> +#endif
> > >> +
> > >>   #ifdef CONFIG_MODULES_TREE_LOOKUP
> > >>   
> > >>   /*
> > >> @@ -186,6 +194,11 @@ static void mod_tree_insert(struct module *mod)
> > >>   	__mod_tree_insert(&mod->core_layout.mtn, &mod_tree);
> > >>   	if (mod->init_layout.size)
> > >>   		__mod_tree_insert(&mod->init_layout.mtn, &mod_tree);
> > >> +
> > >> +#ifdef CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
> > >> +	mod->data_layout.mtn.mod = mod;
> > >> +	__mod_tree_insert(&mod->data_layout.mtn, &mod_data_tree);
> > >> +#endif
> > > 
> > > 
> > > kernel/ directory has quite a few files, module.c is the second to
> > > largest file, and it has tons of stuff. Aaron is doing work to
> > > split things out to make code easier to read and so that its easier
> > > to review changes. See:
> > > 
> > > https://lkml.kernel.org/r/20220130213214.1042497-1-atomlin@redhat.com
> > > 
> > > I think this is a good patch example which could benefit from that work.
> > > So I'd much prefer to see that work go in first than this, so to see if
> > > we can make the below changes more compartamentalized.
> > > 
> > > Curious, how much testing has been put into this series?
> > 
> > 
> > I tested the change up to (including) patch 4 to verify it doesn't 
> > introduce regression when not using 
> > CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC,
> 
> > Then I tested with patch 5. I first tried with the 'hello world' test 
> > module. After that I loaded several important modules and checked I 
> > didn't get any regression, both with and without STRICT_MODULES_RWX and 
> > I checked the consistency in /proc/vmallocinfo
> >   /proc/modules /sys/class/modules/*
> 
> I wonder if we have a test for STRICT_MODULES_RWX.
> 
> > I also tested with a hacked module_alloc() to force branch trampolines.
> 
> So to verify that reducing these trampolines actually helps on an
> architecture? I wonder if we can generalize this somehow to let archs
> verify such strategies can help.
> 
> I was hoping for a bit more wider testing, like actually users, etc.
> It does not seem like so. So we can get to that by merging this soon
> into modules-next and having this bleed out issues with linux-next.
> We are in good time to do this now.
> 
> The kmod tree has tons of tests:
> 
> https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/
> 
> Can you use that to verify there are no regressions?

openSUSE has the testsuite packaged so it's easy to run on arbitrary
kernel but only on ppc64(le) because there is no ppc there anymore.

So yes, it does not regress Book3S/64 as far as kmod testsuite is
conderned and building s390x non-modular kernel also still worka but
that's not saying much.

Thanks

Michal

^ permalink raw reply

* Re: [PATCH] powerpc/pseries: make pseries_devicetree_update() static
From: Tyrel Datwyler @ 2022-02-08 19:33 UTC (permalink / raw)
  To: Nathan Lynch, linuxppc-dev
In-Reply-To: <20220207221247.354454-1-nathanl@linux.ibm.com>

On 2/7/22 2:12 PM, Nathan Lynch wrote:
> pseries_devicetree_update() has only one call site, in the same file in
> which it is defined. Make it static.
> 
> Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
> ---

Reviewed-by: Tyrel Datwyler <tyreld@linux.ibm.com>

^ permalink raw reply

* Re: BUG: Kernel NULL pointer dereference on write at 0x00000000 (rtmsg_ifinfo_build_skb)
From: Zhouyi Zhou @ 2022-02-08 20:10 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Paul Menzel, netdev, Josh Triplett, LKML, rcu, Jakub Kicinski,
	linuxppc-dev, David S. Miller
In-Reply-To: <CAABZP2zsyf238t6FGaszY+vwuBocFWQj=7k2pGd2OA3E7G525g@mail.gmail.com>

Hi Paul

Below are my preliminary test results tested on PPC VM supplied by
Open source lab of Oregon State University, thank you for your
support!

[Preliminary test results on ppc64le virtual guest]

1. Conclusion
Some other kernel configuration besides RCU may lead to "BUG: Kernel
NULL pointer dereference" at boot


2. Test Environment
2.1 host hardware
8 core ppc64le virtual guest with 16G ram and 160G disk
cpu        : POWER9 (architected), altivec supported
clock        : 2200.000000MHz
revision    : 2.2 (pvr 004e 1202)

2.2 host software
Operating System: Ubuntu 20.04.3 LTS, Compiler: gcc version 9.3.0


3. Test Procedure
3.1 kernel source
next-20220203

3.2 build and boot the kernel with CONFIG_DRM_BOCHS=m and
CONFIG_RCU_TORTURE_TEST=y
test result: "BUG: Kernel NULL pointer dereference" at boot
config file: http://154.223.142.244/Feb2022/config-5.17.0-rc2-next.bochs.torture
boot msg: http://154.223.142.244/Feb2022/dmesg.torture.bochs

3.3 build and boot the kernel with CONFIG_DRM_BOCHS=m
test result: "BUG: Kernel NULL pointer dereference" at boot
config file: http://154.223.142.244/Feb2022/config-5.17.0-rc2-next.bochs
boot msg: http://154.223.142.244/Feb2022/dmesg.bochs

3.4 build and boot the kernel with CONFIG_RCU_TORTURE_TEST=y (without
CONFIG_DRM_BOCHS)
test result: boot without error
config file: http://154.223.142.244/Feb2022/config-5.17.0-rc2-next.torture
boot msg: http://154.223.142.244/Feb2022/dmesg.torture

3.5 build and boot the kernel with CONFIG_RCU_TORTURE_TEST=m (without
CONFIG_DRM_BOCHS)
test result: boot without error
config file: http://154.223.142.244/Feb2022/config-5.17.0-rc2-next
boot msg: http://154.223.142.244/Feb2022/dmesg

4. Acknowledgement
Thank Open source lab of Oregon State University and Paul Menzel and
all other community members who support my tiny research.

Thanks
Zhouyi

On Wed, Feb 2, 2022 at 10:39 AM Zhouyi Zhou <zhouzhouyi@gmail.com> wrote:
>
> Thank Paul for your encouragement!
>
> On Wed, Feb 2, 2022 at 1:50 AM Paul E. McKenney <paulmck@kernel.org> wrote:
> >
> > On Mon, Jan 31, 2022 at 09:08:40AM +0800, Zhouyi Zhou wrote:
> > > Thank Paul for joining us!
> > >
> > > On Mon, Jan 31, 2022 at 1:44 AM Paul E. McKenney <paulmck@kernel.org> wrote:
> > > >
> > > > On Sun, Jan 30, 2022 at 09:24:44PM +0800, Zhouyi Zhou wrote:
> > > > > Dear Paul
> > > > >
> > > > > On Sun, Jan 30, 2022 at 4:19 PM Paul Menzel <pmenzel@molgen.mpg.de> wrote:
> > > > > >
> > > > > > Dear Zhouyi,
> > > > > >
> > > > > >
> > > > > > Am 30.01.22 um 01:21 schrieb Zhouyi Zhou:
> > > > > >
> > > > > > > Thank you for your instructions, I learned a lot from this process.
> > > > > >
> > > > > > Same on my end.
> > > > > >
> > > > > > > On Sun, Jan 30, 2022 at 12:52 AM Paul Menzel <pmenzel@molgen.mpg.de> wrote:
> > > > > >
> > > > > > >> Am 29.01.22 um 03:23 schrieb Zhouyi Zhou:
> > > > > > >>
> > > > > > >>> I don't have an IBM machine, but I tried to analyze the problem using
> > > > > > >>> my x86_64 kvm virtual machine, I can't reproduce the bug using my
> > > > > > >>> x86_64 kvm virtual machine.
> > > > > > >>
> > > > > > >> No idea, if it’s architecture specific.
> > > > > > >>
> > > > > > >>> I saw the panic is caused by registration of sit device (A sit device
> > > > > > >>> is a type of virtual network device that takes our IPv6 traffic,
> > > > > > >>> encapsulates/decapsulates it in IPv4 packets, and sends/receives it
> > > > > > >>> over the IPv4 Internet to another host)
> > > > > > >>>
> > > > > > >>> sit device is registered in function sit_init_net:
> > > > > > >>> 1895    static int __net_init sit_init_net(struct net *net)
> > > > > > >>> 1896    {
> > > > > > >>> 1897        struct sit_net *sitn = net_generic(net, sit_net_id);
> > > > > > >>> 1898        struct ip_tunnel *t;
> > > > > > >>> 1899        int err;
> > > > > > >>> 1900
> > > > > > >>> 1901        sitn->tunnels[0] = sitn->tunnels_wc;
> > > > > > >>> 1902        sitn->tunnels[1] = sitn->tunnels_l;
> > > > > > >>> 1903        sitn->tunnels[2] = sitn->tunnels_r;
> > > > > > >>> 1904        sitn->tunnels[3] = sitn->tunnels_r_l;
> > > > > > >>> 1905
> > > > > > >>> 1906        if (!net_has_fallback_tunnels(net))
> > > > > > >>> 1907            return 0;
> > > > > > >>> 1908
> > > > > > >>> 1909        sitn->fb_tunnel_dev = alloc_netdev(sizeof(struct ip_tunnel), "sit0",
> > > > > > >>> 1910                           NET_NAME_UNKNOWN,
> > > > > > >>> 1911                           ipip6_tunnel_setup);
> > > > > > >>> 1912        if (!sitn->fb_tunnel_dev) {
> > > > > > >>> 1913            err = -ENOMEM;
> > > > > > >>> 1914            goto err_alloc_dev;
> > > > > > >>> 1915        }
> > > > > > >>> 1916        dev_net_set(sitn->fb_tunnel_dev, net);
> > > > > > >>> 1917        sitn->fb_tunnel_dev->rtnl_link_ops = &sit_link_ops;
> > > > > > >>> 1918        /* FB netdevice is special: we have one, and only one per netns.
> > > > > > >>> 1919         * Allowing to move it to another netns is clearly unsafe.
> > > > > > >>> 1920         */
> > > > > > >>> 1921        sitn->fb_tunnel_dev->features |= NETIF_F_NETNS_LOCAL;
> > > > > > >>> 1922
> > > > > > >>> 1923        err = register_netdev(sitn->fb_tunnel_dev);
> > > > > > >>> register_netdev on line 1923 will call if_nlmsg_size indirectly.
> > > > > > >>>
> > > > > > >>> On the other hand, the function that calls the paniced strlen is if_nlmsg_size:
> > > > > > >>> (gdb) disassemble if_nlmsg_size
> > > > > > >>> Dump of assembler code for function if_nlmsg_size:
> > > > > > >>>      0xffffffff81a0dc20 <+0>:    nopl   0x0(%rax,%rax,1)
> > > > > > >>>      0xffffffff81a0dc25 <+5>:    push   %rbp
> > > > > > >>>      0xffffffff81a0dc26 <+6>:    push   %r15
> > > > > > >>>      0xffffffff81a0dd04 <+228>:    je     0xffffffff81a0de20 <if_nlmsg_size+512>
> > > > > > >>>      0xffffffff81a0dd0a <+234>:    mov    0x10(%rbp),%rdi
> > > > > > >>>      ...
> > > > > > >>>    => 0xffffffff81a0dd0e <+238>:    callq  0xffffffff817532d0 <strlen>
> > > > > > >>>      0xffffffff81a0dd13 <+243>:    add    $0x10,%eax
> > > > > > >>>      0xffffffff81a0dd16 <+246>:    movslq %eax,%r12
> > > > > > >>
> > > > > > >> Excuse my ignorance, would that look the same for ppc64le?
> > > > > > >> Unfortunately, I didn’t save the problematic `vmlinuz` file, but on a
> > > > > > >> current build (without rcutorture) I have the line below, where strlen
> > > > > > >> shows up.
> > > > > > >>
> > > > > > >>       (gdb) disassemble if_nlmsg_size
> > > > > > >>       […]
> > > > > > >>       0xc000000000f7f82c <+332>: bl      0xc000000000a10e30 <strlen>
> > > > > > >>       […]
> > > > > > >>
> > > > > > >>> and the C code for 0xffffffff81a0dd0e is following (line 524):
> > > > > > >>> 515    static size_t rtnl_link_get_size(const struct net_device *dev)
> > > > > > >>> 516    {
> > > > > > >>> 517        const struct rtnl_link_ops *ops = dev->rtnl_link_ops;
> > > > > > >>> 518        size_t size;
> > > > > > >>> 519
> > > > > > >>> 520        if (!ops)
> > > > > > >>> 521            return 0;
> > > > > > >>> 522
> > > > > > >>> 523        size = nla_total_size(sizeof(struct nlattr)) + /* IFLA_LINKINFO */
> > > > > > >>> 524               nla_total_size(strlen(ops->kind) + 1);  /* IFLA_INFO_KIND */
> > > > > > >>
> > > > > > >> How do I connect the disassemby output with the corresponding line?
> > > > > > > I use "make  ARCH=powerpc CC=powerpc64le-linux-gnu-gcc-9
> > > > > > > CROSS_COMPILE=powerpc64le-linux-gnu- -j 16" to cross compile kernel
> > > > > > > for powerpc64le in my Ubuntu 20.04 x86_64.
> > > > > > >
> > > > > > > gdb-multiarch ./vmlinux
> > > > > > > (gdb)disassemble if_nlmsg_size
> > > > > > > [...]
> > > > > > > 0xc00000000191bf40 <+112>:    bl      0xc000000001c28ad0 <strlen>
> > > > > > > [...]
> > > > > > > (gdb) break *0xc00000000191bf40
> > > > > > > Breakpoint 1 at 0xc00000000191bf40: file ./include/net/netlink.h, line 1112.
> > > > > > >
> > > > > > > But in include/net/netlink.h:1112, I can't find the call to strlen
> > > > > > > 1110static inline int nla_total_size(int payload)
> > > > > > > 1111{
> > > > > > > 1112        return NLA_ALIGN(nla_attr_size(payload));
> > > > > > > 1113}
> > > > > > > This may be due to the compiler wrongly encode the debug information, I guess.
> > > > > >
> > > > > > `rtnl_link_get_size()` contains:
> > > > > >
> > > > > >              size = nla_total_size(sizeof(struct nlattr)) + /*
> > > > > > IFLA_LINKINFO */
> > > > > >                     nla_total_size(strlen(ops->kind) + 1);  /*
> > > > > > IFLA_INFO_KIND */
> > > > > >
> > > > > > Is that inlined(?) and the code at fault?
> > > > > Yes, that is inlined! because
> > > > > (gdb) disassemble if_nlmsg_size
> > > > > Dump of assembler code for function if_nlmsg_size:
> > > > > [...]
> > > > > 0xc00000000191bf38 <+104>:    beq     0xc00000000191c1f0 <if_nlmsg_size+800>
> > > > > 0xc00000000191bf3c <+108>:    ld      r3,16(r31)
> > > > > 0xc00000000191bf40 <+112>:    bl      0xc000000001c28ad0 <strlen>
> > > > > [...]
> > > > > (gdb)
> > > > > (gdb) break *0xc00000000191bf40
> > > > > Breakpoint 1 at 0xc00000000191bf40: file ./include/net/netlink.h, line 1112.
> > > > > (gdb) break *0xc00000000191bf38
> > > > > Breakpoint 2 at 0xc00000000191bf38: file net/core/rtnetlink.c, line 520.
> > > >
> > > > I suggest building your kernel with CONFIG_DEBUG_INFO=y if you are not
> > > > already doing so.  That gives gdb a lot more information about things
> > > > like inlining.
> > > I check my .config file, CONFIG_DEBUG_INFO=y is here:
> > > linux-next$ grep CONFIG_DEBUG_INFO .config
> > > CONFIG_DEBUG_INFO=y
> > > Then I invoke "make clean" and rebuild the kernel, the behavior of gdb
> > > and vmlinux remain unchanged, sorry for that
> >
> > Glad you were already on top of this one!
> I am very pleased to contribute my tiny effort to the process of
> making Linux better ;-)
> >
> > > I am trying to reproduce the bug on my bare metal x86_64 machines in
> > > the coming days, and am also trying to work with Mr Menzel after he
> > > comes back to the office.
> >
> > This URL used to allow community members such as yourself to request
> > access to Power systems: https://osuosl.org/services/powerdev/
> I have filled the request form on
> https://osuosl.org/services/powerdev/ and now wait for them to deploy
> the environment for me.
>
> Thanks again
> Zhouyi
> >
> > In case that helps.
> >
> >                                                         Thanx, Paul
> >
> > > Thanks
> > > Zhouyi
> > > >
> > > >                                                         Thanx, Paul
> > > >
> > > > > > >>> But ops is assigned the value of sit_link_ops in function sit_init_net
> > > > > > >>> line 1917, so I guess something must happened between the calls.
> > > > > > >>>
> > > > > > >>> Do we have KASAN in IBM machine? would KASAN help us find out what
> > > > > > >>> happened in between?
> > > > > > >>
> > > > > > >> Unfortunately, KASAN is not support on Power, I have, as far as I can
> > > > > > >> see. From `arch/powerpc/Kconfig`:
> > > > > > >>
> > > > > > >>           select HAVE_ARCH_KASAN                  if PPC32 && PPC_PAGE_SHIFT <= 14
> > > > > > >>           select HAVE_ARCH_KASAN_VMALLOC          if PPC32 && PPC_PAGE_SHIFT <= 14
> > > > > > >>
> > > > > > > en, agree, I invoke "make  menuconfig  ARCH=powerpc
> > > > > > > CC=powerpc64le-linux-gnu-gcc-9 CROSS_COMPILE=powerpc64le-linux-gnu- -j
> > > > > > > 16", I can't find KASAN under Memory Debugging, I guess we should find
> > > > > > > the bug by bisecting instead.
> > > > > >
> > > > > > I do not know, if it is a regression, as it was the first time I tried
> > > > > > to run a Linux kernel built with rcutorture on real hardware.
> > > > > I tried to add some debug statements to the kernel to locate the bug
> > > > > more accurately,  you can try it when you're not busy in the future,
> > > > > or just ignore it if the following patch looks not very effective ;-)
> > > > > diff --git a/net/core/dev.c b/net/core/dev.c
> > > > > index 1baab07820f6..969ac7c540cc 100644
> > > > > --- a/net/core/dev.c
> > > > > +++ b/net/core/dev.c
> > > > > @@ -9707,6 +9707,9 @@ int register_netdevice(struct net_device *dev)
> > > > >       *    Prevent userspace races by waiting until the network
> > > > >       *    device is fully setup before sending notifications.
> > > > >       */
> > > > > +    if (dev->rtnl_link_ops)
> > > > > +        printk(KERN_INFO "%lx IFLA_INFO_KIND %s %s\n", dev->rtnl_link_ops,
> > > > > +               dev->rtnl_link_ops->kind, __FUNCTION__);
> > > > >      if (!dev->rtnl_link_ops ||
> > > > >          dev->rtnl_link_state == RTNL_LINK_INITIALIZED)
> > > > >          rtmsg_ifinfo(RTM_NEWLINK, dev, ~0U, GFP_KERNEL);
> > > > > @@ -9788,6 +9791,9 @@ int register_netdev(struct net_device *dev)
> > > > >
> > > > >      if (rtnl_lock_killable())
> > > > >          return -EINTR;
> > > > > +    if (dev->rtnl_link_ops)
> > > > > +        printk(KERN_INFO "%lx IFLA_INFO_KIND %s %s\n", dev->rtnl_link_ops,
> > > > > +               dev->rtnl_link_ops->kind, __FUNCTION__);
> > > > >      err = register_netdevice(dev);
> > > > >      rtnl_unlock();
> > > > >      return err;
> > > > > diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
> > > > > index e476403231f0..e08986ae6238 100644
> > > > > --- a/net/core/rtnetlink.c
> > > > > +++ b/net/core/rtnetlink.c
> > > > > @@ -520,6 +520,8 @@ static size_t rtnl_link_get_size(const struct
> > > > > net_device *dev)
> > > > >      if (!ops)
> > > > >          return 0;
> > > > >
> > > > > +    printk(KERN_INFO "%lx IFLA_INFO_KIND %s %s\n", ops,
> > > > > +           ops->kind, __FUNCTION__);
> > > > >      size = nla_total_size(sizeof(struct nlattr)) + /* IFLA_LINKINFO */
> > > > >             nla_total_size(strlen(ops->kind) + 1);  /* IFLA_INFO_KIND */
> > > > >
> > > > > @@ -1006,6 +1008,9 @@ static size_t rtnl_proto_down_size(const struct
> > > > > net_device *dev)
> > > > >  static noinline size_t if_nlmsg_size(const struct net_device *dev,
> > > > >                       u32 ext_filter_mask)
> > > > >  {
> > > > > +    if (dev->rtnl_link_ops)
> > > > > +        printk(KERN_INFO "%lx IFLA_INFO_KIND  %s %s\n", dev->rtnl_link_ops,
> > > > > +               dev->rtnl_link_ops->kind, __FUNCTION__);
> > > > >      return NLMSG_ALIGN(sizeof(struct ifinfomsg))
> > > > >             + nla_total_size(IFNAMSIZ) /* IFLA_IFNAME */
> > > > >             + nla_total_size(IFALIASZ) /* IFLA_IFALIAS */
> > > > > @@ -3825,7 +3830,9 @@ struct sk_buff *rtmsg_ifinfo_build_skb(int type,
> > > > > struct net_device *dev,
> > > > >      struct net *net = dev_net(dev);
> > > > >      struct sk_buff *skb;
> > > > >      int err = -ENOBUFS;
> > > > > -
> > > > > +    if (dev->rtnl_link_ops)
> > > > > +        printk(KERN_INFO "%lx IFLA_INFO_KIND %s %s\n", dev->rtnl_link_ops,
> > > > > +               dev->rtnl_link_ops->kind, __FUNCTION__);
> > > > >      skb = nlmsg_new(if_nlmsg_size(dev, 0), flags);
> > > > >      if (skb == NULL)
> > > > >          goto errout;
> > > > > @@ -3861,7 +3868,9 @@ static void rtmsg_ifinfo_event(int type, struct
> > > > > net_device *dev,
> > > > >
> > > > >      if (dev->reg_state != NETREG_REGISTERED)
> > > > >          return;
> > > > > -
> > > > > +    if (dev->rtnl_link_ops)
> > > > > +        printk(KERN_INFO "%lx IFLA_INFO_KIND  %s %s\n", dev->rtnl_link_ops,
> > > > > +               dev->rtnl_link_ops->kind, __FUNCTION__);
> > > > >      skb = rtmsg_ifinfo_build_skb(type, dev, change, event, flags, new_nsid,
> > > > >                       new_ifindex);
> > > > >      if (skb)
> > > > > @@ -3871,6 +3880,9 @@ static void rtmsg_ifinfo_event(int type, struct
> > > > > net_device *dev,
> > > > >  void rtmsg_ifinfo(int type, struct net_device *dev, unsigned int change,
> > > > >            gfp_t flags)
> > > > >  {
> > > > > +    if (dev->rtnl_link_ops)
> > > > > +        printk(KERN_INFO "%lx IFLA_INFO_KIND  %s %s\n", dev->rtnl_link_ops,
> > > > > +               dev->rtnl_link_ops->kind, __FUNCTION__);
> > > > >      rtmsg_ifinfo_event(type, dev, change, rtnl_get_event(0), flags,
> > > > >                 NULL, 0);
> > > > >  }
> > > > > diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
> > > > > index c0b138c20992..fa5b2725811c 100644
> > > > > --- a/net/ipv6/sit.c
> > > > > +++ b/net/ipv6/sit.c
> > > > > @@ -1919,6 +1919,8 @@ static int __net_init sit_init_net(struct net *net)
> > > > >       * Allowing to move it to another netns is clearly unsafe.
> > > > >       */
> > > > >      sitn->fb_tunnel_dev->features |= NETIF_F_NETNS_LOCAL;
> > > > > -
> > > > > +    printk(KERN_INFO "%lx IFLA_INFO_KIND %s %s\n",
> > > > > +           sitn->fb_tunnel_dev->rtnl_link_ops,
> > > > > +           sitn->fb_tunnel_dev->rtnl_link_ops->kind, __FUNCTION__);
> > > > >      err = register_netdev(sitn->fb_tunnel_dev);
> > > > >      if (err)
> > > > >          goto err_reg_dev;
> > > > > >
> > > > > > >>> Hope I can be of more helpful.
> > > > > > >>
> > > > > > >> Some distributions support multi-arch, so they easily allow
> > > > > > >> crosscompiling for different architectures.
> > > > > > > I use "make  ARCH=powerpc CC=powerpc64le-linux-gnu-gcc-9
> > > > > > > CROSS_COMPILE=powerpc64le-linux-gnu- -j 16" to cross compile kernel
> > > > > > > for powerpc64le in my Ubuntu 20.04 x86_64. But I can't boot the
> > > > > > > compiled kernel using "qemu-system-ppc64le -M pseries -nographic -smp
> > > > > > > 4 -net none -m 4G -kernel arch/powerpc/boot/zImage". I will continue
> > > > > > > to explore it.
> > > > > >
> > > > > > Oh, that does not sound good. But I have not tried that in a long time
> > > > > > either. It’s a separate issue, but maybe some of the PPC
> > > > > > maintainers/folks could help.
> > > > > I will do further research on this later.
> > > > >
> > > > > Thanks for your time
> > > > > Kind regards
> > > > > Zhouyi
> > > > > >
> > > > > >
> > > > > > Kind regards,
> > > > > >
> > > > > > Paul

^ permalink raw reply

* Re: [PATCH 1/3] lib/raid6/test/Makefile: Use `$(pound)` instead of `\#` for Make 4.3
From: Wols Lists @ 2022-02-08 18:44 UTC (permalink / raw)
  To: Paul Menzel, Song Liu; +Cc: linux-raid, linuxppc-dev, Matt Brown
In-Reply-To: <20220126114144.370517-1-pmenzel@molgen.mpg.de>

On 26/01/2022 11:41, Paul Menzel wrote:
> So, do the same as commit 9564a8cf422d (Kbuild: fix # escaping in .cmd
> files for future Make) and commit 929bef467771 (bpf: Use $(pound) instead
> of \# in Makefiles) and define and use a `$(pound)` variable.

Ouch!

In the English (as opposed to American) speaking world this will be very 
confusing! The pound sign is £ not #.

If this is not dictated by some sort of upstream PLEASE can we make it 
$(hash) not $(pound)

Cheers,
Wol

^ permalink raw reply

* Re: [PATCH v2] include: linux: Reorganize timekeeping and ktime headers
From: kernel test robot @ 2022-02-08 21:48 UTC (permalink / raw)
  To: Carlos Bilbao, john.stultz, tglx, sboyd, alexandre.belloni,
	gregkh
  Cc: linux-rtc, jgross, kbuild-all, kernel test robot, linux-kernel,
	rostedt, Carlos Bilbao, linux-m68k, geert, bilbao, boon.leong.ong,
	linux-ia64, linuxppc-dev, linux-stm32, linux-arm-kernel, mhiramat
In-Reply-To: <20220208161049.865402-1-carlos.bilbao@amd.com>

Hi Carlos,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on geert-m68k/for-next]
[also build test ERROR on tip/timers/core tip/x86/core linus/master v5.17-rc3]
[cannot apply to next-20220208]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Carlos-Bilbao/include-linux-Reorganize-timekeeping-and-ktime-headers/20220209-001309
base:   https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git for-next
config: m68k-randconfig-r024-20220208 (https://download.01.org/0day-ci/archive/20220209/202202090554.VWOt2B2w-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/5ed7d76f2d6aabedc437bc0b99020dc655ab5719
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Carlos-Bilbao/include-linux-Reorganize-timekeeping-and-ktime-headers/20220209-001309
        git checkout 5ed7d76f2d6aabedc437bc0b99020dc655ab5719
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=m68k SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   arch/m68k/68000/timers.c: In function 'hw_tick':
>> arch/m68k/68000/timers.c:64:9: error: implicit declaration of function 'legacy_timer_tick' [-Werror=implicit-function-declaration]
      64 |         legacy_timer_tick(1);
         |         ^~~~~~~~~~~~~~~~~
   arch/m68k/68000/timers.c: At top level:
   arch/m68k/68000/timers.c:120:5: warning: no previous prototype for 'm68328_hwclk' [-Wmissing-prototypes]
     120 | int m68328_hwclk(int set, struct rtc_time *t)
         |     ^~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/legacy_timer_tick +64 arch/m68k/68000/timers.c

36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  57  
36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  58  static irqreturn_t hw_tick(int irq, void *dummy)
36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  59  {
36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  60  	/* Reset Timer1 */
36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  61  	TSTAT &= 0;
36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  62  
36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  63  	m68328_tick_cnt += TICKS_PER_JIFFY;
09323308f63708 arch/m68k/68000/timers.c               Arnd Bergmann 2020-09-24 @64  	legacy_timer_tick(1);
09323308f63708 arch/m68k/68000/timers.c               Arnd Bergmann 2020-09-24  65  	return IRQ_HANDLED;
36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  66  }
36a90f26aa24c5 arch/m68knommu/platform/68328/timers.c Greg Ungerer  2008-02-01  67  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox