lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 18 Jan 2021 00:33:57 +0100
From:   Sedat Dilek <sedat.dilek@...il.com>
To:     Bill Wendling <morbo@...gle.com>
Cc:     Jonathan Corbet <corbet@....net>,
        Masahiro Yamada <masahiroy@...nel.org>,
        Linux Doc Mailing List <linux-doc@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
        Clang-Built-Linux ML <clang-built-linux@...glegroups.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Nathan Chancellor <natechancellor@...il.com>,
        Nick Desaulniers <ndesaulniers@...gle.com>,
        Sami Tolvanen <samitolvanen@...gle.com>
Subject: Re: [PATCH v5] pgo: add clang's Profile Guided Optimization infrastructure

On Sun, Jan 17, 2021 at 9:35 PM Bill Wendling <morbo@...gle.com> wrote:
>
> On Sun, Jan 17, 2021 at 9:42 AM Sedat Dilek <sedat.dilek@...il.com> wrote:
> >
> > On Sun, Jan 17, 2021 at 1:05 PM Sedat Dilek <sedat.dilek@...il.com> wrote:
> > >
> > > On Sun, Jan 17, 2021 at 12:58 PM Sedat Dilek <sedat.dilek@...il.com> wrote:
> > > >
> > > > On Sun, Jan 17, 2021 at 12:42 PM Sedat Dilek <sedat.dilek@...il.com> wrote:
> > > > >
> > > > > On Sun, Jan 17, 2021 at 12:23 PM Sedat Dilek <sedat.dilek@...il.com> wrote:
> > > > > >
> > > > > > On Sun, Jan 17, 2021 at 11:53 AM Sedat Dilek <sedat.dilek@...il.com> wrote:
> > > > > > >
> > > > > > > On Sun, Jan 17, 2021 at 11:44 AM Sedat Dilek <sedat.dilek@...il.com> wrote:
> > > > > > > >
> > > > > > > > On Sat, Jan 16, 2021 at 9:23 PM Bill Wendling <morbo@...gle.com> wrote:
> > > > > > > > >
> > > > > > > > > On Sat, Jan 16, 2021 at 9:39 AM Sedat Dilek <sedat.dilek@...il.com> wrote:
> > > > > > > > > > On Sat, Jan 16, 2021 at 10:44 AM 'Bill Wendling' via Clang Built Linux
> > > > > > > > > > <clang-built-linux@...glegroups.com> wrote:
> > > > > > > > > > >
> > > > > > > > > > > From: Sami Tolvanen <samitolvanen@...gle.com>
> > > > > > > > > > >
> > > > > > > > > > > Enable the use of clang's Profile-Guided Optimization[1]. To generate a
> > > > > > > > > > > profile, the kernel is instrumented with PGO counters, a representative
> > > > > > > > > > > workload is run, and the raw profile data is collected from
> > > > > > > > > > > /sys/kernel/debug/pgo/profraw.
> > > > > > > > > > >
> > > > > > > > > > > The raw profile data must be processed by clang's "llvm-profdata" tool
> > > > > > > > > > > before it can be used during recompilation:
> > > > > > > > > > >
> > > > > > > > > > >   $ cp /sys/kernel/debug/pgo/profraw vmlinux.profraw
> > > > > > > > > > >   $ llvm-profdata merge --output=vmlinux.profdata vmlinux.profraw
> > > > > > > > > > >
> > > > > > > > > > > Multiple raw profiles may be merged during this step.
> > > > > > > > > > >
> > > > > > > > > > > The data can now be used by the compiler:
> > > > > > > > > > >
> > > > > > > > > > >   $ make LLVM=1 KCFLAGS=-fprofile-use=vmlinux.profdata ...
> > > > > > > > > > >
> > > > > > > > > > > This initial submission is restricted to x86, as that's the platform we
> > > > > > > > > > > know works. This restriction can be lifted once other platforms have
> > > > > > > > > > > been verified to work with PGO.
> > > > > > > > > > >
> > > > > > > > > > > Note that this method of profiling the kernel is clang-native, unlike
> > > > > > > > > > > the clang support in kernel/gcov.
> > > > > > > > > > >
> > > > > > > > > > > [1] https://clang.llvm.org/docs/UsersManual.html#profile-guided-optimization
> > > > > > > > > > >
> > > > > > > > > > > Signed-off-by: Sami Tolvanen <samitolvanen@...gle.com>
> > > > > > > > > > > Co-developed-by: Bill Wendling <morbo@...gle.com>
> > > > > > > > > > > Signed-off-by: Bill Wendling <morbo@...gle.com>
> > > > > > > > > > > ---
> > > > > > > > > > > v2: - Added "__llvm_profile_instrument_memop" based on Nathan Chancellor's
> > > > > > > > > > >       testing.
> > > > > > > > > > >     - Corrected documentation, re PGO flags when using LTO, based on Fangrui
> > > > > > > > > > >       Song's comments.
> > > > > > > > > > > v3: - Added change log section based on Sedat Dilek's comments.
> > > > > > > > > > > v4: - Remove non-x86 Makfile changes and se "hweight64" instead of using our
> > > > > > > > > > >       own popcount implementation, based on Nick Desaulniers's comment.
> > > > > > > > > > > v5: - Correct padding calculation, discovered by Nathan Chancellor.
> > > > > > > > > > > ---
> > > > > > > > > > >  Documentation/dev-tools/index.rst     |   1 +
> > > > > > > > > > >  Documentation/dev-tools/pgo.rst       | 127 +++++++++
> > > > > > > > > > >  MAINTAINERS                           |   9 +
> > > > > > > > > > >  Makefile                              |   3 +
> > > > > > > > > > >  arch/Kconfig                          |   1 +
> > > > > > > > > > >  arch/x86/Kconfig                      |   1 +
> > > > > > > > > > >  arch/x86/boot/Makefile                |   1 +
> > > > > > > > > > >  arch/x86/boot/compressed/Makefile     |   1 +
> > > > > > > > > > >  arch/x86/crypto/Makefile              |   2 +
> > > > > > > > > > >  arch/x86/entry/vdso/Makefile          |   1 +
> > > > > > > > > > >  arch/x86/kernel/vmlinux.lds.S         |   2 +
> > > > > > > > > > >  arch/x86/platform/efi/Makefile        |   1 +
> > > > > > > > > > >  arch/x86/purgatory/Makefile           |   1 +
> > > > > > > > > > >  arch/x86/realmode/rm/Makefile         |   1 +
> > > > > > > > > > >  arch/x86/um/vdso/Makefile             |   1 +
> > > > > > > > > > >  drivers/firmware/efi/libstub/Makefile |   1 +
> > > > > > > > > > >  include/asm-generic/vmlinux.lds.h     |  44 +++
> > > > > > > > > > >  kernel/Makefile                       |   1 +
> > > > > > > > > > >  kernel/pgo/Kconfig                    |  35 +++
> > > > > > > > > > >  kernel/pgo/Makefile                   |   5 +
> > > > > > > > > > >  kernel/pgo/fs.c                       | 382 ++++++++++++++++++++++++++
> > > > > > > > > > >  kernel/pgo/instrument.c               | 185 +++++++++++++
> > > > > > > > > > >  kernel/pgo/pgo.h                      | 206 ++++++++++++++
> > > > > > > > > > >  scripts/Makefile.lib                  |  10 +
> > > > > > > > > > >  24 files changed, 1022 insertions(+)
> > > > > > > > > > >  create mode 100644 Documentation/dev-tools/pgo.rst
> > > > > > > > > > >  create mode 100644 kernel/pgo/Kconfig
> > > > > > > > > > >  create mode 100644 kernel/pgo/Makefile
> > > > > > > > > > >  create mode 100644 kernel/pgo/fs.c
> > > > > > > > > > >  create mode 100644 kernel/pgo/instrument.c
> > > > > > > > > > >  create mode 100644 kernel/pgo/pgo.h
> > > > > > > > > > >
> > > > > > > > > > > diff --git a/Documentation/dev-tools/index.rst b/Documentation/dev-tools/index.rst
> > > > > > > > > > > index f7809c7b1ba9e..8d6418e858062 100644
> > > > > > > > > > > --- a/Documentation/dev-tools/index.rst
> > > > > > > > > > > +++ b/Documentation/dev-tools/index.rst
> > > > > > > > > > > @@ -26,6 +26,7 @@ whole; patches welcome!
> > > > > > > > > > >     kgdb
> > > > > > > > > > >     kselftest
> > > > > > > > > > >     kunit/index
> > > > > > > > > > > +   pgo
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >  .. only::  subproject and html
> > > > > > > > > > > diff --git a/Documentation/dev-tools/pgo.rst b/Documentation/dev-tools/pgo.rst
> > > > > > > > > > > new file mode 100644
> > > > > > > > > > > index 0000000000000..b7f11d8405b73
> > > > > > > > > > > --- /dev/null
> > > > > > > > > > > +++ b/Documentation/dev-tools/pgo.rst
> > > > > > > > > > > @@ -0,0 +1,127 @@
> > > > > > > > > > > +.. SPDX-License-Identifier: GPL-2.0
> > > > > > > > > > > +
> > > > > > > > > > > +===============================
> > > > > > > > > > > +Using PGO with the Linux kernel
> > > > > > > > > > > +===============================
> > > > > > > > > > > +
> > > > > > > > > > > +Clang's profiling kernel support (PGO_) enables profiling of the Linux kernel
> > > > > > > > > > > +when building with Clang. The profiling data is exported via the ``pgo``
> > > > > > > > > > > +debugfs directory.
> > > > > > > > > > > +
> > > > > > > > > > > +.. _PGO: https://clang.llvm.org/docs/UsersManual.html#profile-guided-optimization
> > > > > > > > > > > +
> > > > > > > > > > > +
> > > > > > > > > > > +Preparation
> > > > > > > > > > > +===========
> > > > > > > > > > > +
> > > > > > > > > > > +Configure the kernel with:
> > > > > > > > > > > +
> > > > > > > > > > > +.. code-block:: make
> > > > > > > > > > > +
> > > > > > > > > > > +   CONFIG_DEBUG_FS=y
> > > > > > > > > > > +   CONFIG_PGO_CLANG=y
> > > > > > > > > > > +
> > > > > > > > > > > +Note that kernels compiled with profiling flags will be significantly larger
> > > > > > > > > > > +and run slower.
> > > > > > > > > > > +
> > > > > > > > > > > +Profiling data will only become accessible once debugfs has been mounted:
> > > > > > > > > > > +
> > > > > > > > > > > +.. code-block:: sh
> > > > > > > > > > > +
> > > > > > > > > > > +   mount -t debugfs none /sys/kernel/debug
> > > > > > > > > > > +
> > > > > > > > > > > +
> > > > > > > > > > > +Customization
> > > > > > > > > > > +=============
> > > > > > > > > > > +
> > > > > > > > > > > +You can enable or disable profiling for individual file and directories by
> > > > > > > > > > > +adding a line similar to the following to the respective kernel Makefile:
> > > > > > > > > > > +
> > > > > > > > > > > +- For a single file (e.g. main.o)
> > > > > > > > > > > +
> > > > > > > > > > > +  .. code-block:: make
> > > > > > > > > > > +
> > > > > > > > > > > +     PGO_PROFILE_main.o := y
> > > > > > > > > > > +
> > > > > > > > > > > +- For all files in one directory
> > > > > > > > > > > +
> > > > > > > > > > > +  .. code-block:: make
> > > > > > > > > > > +
> > > > > > > > > > > +     PGO_PROFILE := y
> > > > > > > > > > > +
> > > > > > > > > > > +To exclude files from being profiled use
> > > > > > > > > > > +
> > > > > > > > > > > +  .. code-block:: make
> > > > > > > > > > > +
> > > > > > > > > > > +     PGO_PROFILE_main.o := n
> > > > > > > > > > > +
> > > > > > > > > > > +and
> > > > > > > > > > > +
> > > > > > > > > > > +  .. code-block:: make
> > > > > > > > > > > +
> > > > > > > > > > > +     PGO_PROFILE := n
> > > > > > > > > > > +
> > > > > > > > > > > +Only files which are linked to the main kernel image or are compiled as kernel
> > > > > > > > > > > +modules are supported by this mechanism.
> > > > > > > > > > > +
> > > > > > > > > > > +
> > > > > > > > > > > +Files
> > > > > > > > > > > +=====
> > > > > > > > > > > +
> > > > > > > > > > > +The PGO kernel support creates the following files in debugfs:
> > > > > > > > > > > +
> > > > > > > > > > > +``/sys/kernel/debug/pgo``
> > > > > > > > > > > +       Parent directory for all PGO-related files.
> > > > > > > > > > > +
> > > > > > > > > > > +``/sys/kernel/debug/pgo/reset``
> > > > > > > > > > > +       Global reset file: resets all coverage data to zero when written to.
> > > > > > > > > > > +
> > > > > > > > > > > +``/sys/kernel/debug/profraw``
> > > > > > > > > > > +       The raw PGO data that must be processed with ``llvm_profdata``.
> > > > > > > > > > > +
> > > > > > > > > > > +
> > > > > > > > > > > +Workflow
> > > > > > > > > > > +========
> > > > > > > > > > > +
> > > > > > > > > > > +The PGO kernel can be run on the host or test machines. The data though should
> > > > > > > > > > > +be analyzed with Clang's tools from the same Clang version as the kernel was
> > > > > > > > > > > +compiled. Clang's tolerant of version skew, but it's easier to use the same
> > > > > > > > > > > +Clang version.
> > > > > > > > > > > +
> > > > > > > > > > > +The profiling data is useful for optimizing the kernel, analyzing coverage,
> > > > > > > > > > > +etc. Clang offers tools to perform these tasks.
> > > > > > > > > > > +
> > > > > > > > > > > +Here is an example workflow for profiling an instrumented kernel with PGO and
> > > > > > > > > > > +using the result to optimize the kernel:
> > > > > > > > > > > +
> > > > > > > > > > > +1) Install the kernel on the TEST machine.
> > > > > > > > > > > +
> > > > > > > > > > > +2) Reset the data counters right before running the load tests
> > > > > > > > > > > +
> > > > > > > > > > > +   .. code-block:: sh
> > > > > > > > > > > +
> > > > > > > > > > > +      $ echo 1 > /sys/kernel/debug/pgo/reset
> > > > > > > > > > > +
> > > > > > > > > >
> > > > > > > > > > I do not get this...
> > > > > > > > > >
> > > > > > > > > > # mount | grep debugfs
> > > > > > > > > > debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
> > > > > > > > > >
> > > > > > > > > > After the load-test...?
> > > > > > > > > >
> > > > > > > > > > echo 0 > /sys/kernel/debug/pgo/reset
> > > > > > > > > >
> > > > > > > > > Writing anything to /sys/kernel/debug/pgo/reset will cause it to reset
> > > > > > > > > the profiling counters. I picked 1 (one) semi-randomly, but it could
> > > > > > > > > be any number, letter, your favorite short story, etc. You don't want
> > > > > > > > > to reset it before collecting the profiling data from your load tests
> > > > > > > > > though.
> > > > > > > > >
> > > > > > > > > > > +3) Run the load tests.
> > > > > > > > > > > +
> > > > > > > > > > > +4) Collect the raw profile data
> > > > > > > > > > > +
> > > > > > > > > > > +   .. code-block:: sh
> > > > > > > > > > > +
> > > > > > > > > > > +      $ cp -a /sys/kernel/debug/pgo/profraw /tmp/vmlinux.profraw
> > > > > > > > > > > +
> > > > > > > > > >
> > > > > > > > > > This is only 4,9M small and seen from the date 5mins before I run the
> > > > > > > > > > echo-1 line.
> > > > > > > > > >
> > > > > > > > > > # ll /sys/kernel/debug/pgo
> > > > > > > > > > insgesamt 0
> > > > > > > > > > drwxr-xr-x  2 root root 0 16. Jan 17:29 .
> > > > > > > > > > drwx------ 41 root root 0 16. Jan 17:29 ..
> > > > > > > > > > -rw-------  1 root root 0 16. Jan 17:29 profraw
> > > > > > > > > > --w-------  1 root root 0 16. Jan 18:19 reset
> > > > > > > > > >
> > > > > > > > > > # cp -a /sys/kernel/debug/pgo/profraw /tmp/vmlinux.profraw
> > > > > > > > > >
> > > > > > > > > > # ll /tmp/vmlinux.profraw
> > > > > > > > > > -rw------- 1 root root 4,9M 16. Jan 17:29 /tmp/vmlinux.profraw
> > > > > > > > > >
> > > > > > > > > > For me there was no prof-data collected from my defconfig kernel-build.
> > > > > > > > > >
> > > > > > > > > The /sys/kernel/debug/pgo/profraw file is read-only. Nothing writes to
> > > > > > > > > it, not even the kernel. All it does is serialize the profiling
> > > > > > > > > counters from a memory location in the kernel into a format that
> > > > > > > > > LLVM's tools can understand.
> > > > > > > > >
> > > > > > > > > > > +5) (Optional) Download the raw profile data to the HOST machine.
> > > > > > > > > > > +
> > > > > > > > > > > +6) Process the raw profile data
> > > > > > > > > > > +
> > > > > > > > > > > +   .. code-block:: sh
> > > > > > > > > > > +
> > > > > > > > > > > +      $ llvm-profdata merge --output=vmlinux.profdata vmlinux.profraw
> > > > > > > > > > > +
> > > > > > > > > >
> > > > > > > > > > Is that executed in /path/to/linux/git?
> > > > > > > > > >
> > > > > > > > > The llvm-profdata tool is not in the linux source tree. You need to
> > > > > > > > > grab it from a clang distribution (or built from clang's git repo).
> > > > > > > > >
> > > > > > > > > > > +   Note that multiple raw profile data files can be merged during this step.
> > > > > > > > > > > +
> > > > > > > > > > > +7) Rebuild the kernel using the profile data (PGO disabled)
> > > > > > > > > > > +
> > > > > > > > > > > +   .. code-block:: sh
> > > > > > > > > > > +
> > > > > > > > > > > +      $ make LLVM=1 KCFLAGS=-fprofile-use=vmlinux.profdata ...
> > > > > > > > > >
> > > > > > > > > > How big is vmlinux.profdata (make defconfig)?
> > > > > > > > > >
> > > > > > > > > I don't have numbers for this, but from what you listed here, it's ~5M
> > > > > > > > > in size. The size is proportional to the number of counters
> > > > > > > > > instrumented in the kernel.
> > > > > > > > >
> > > > > > > > > > Do I need to do a full defconfig build or can I stop the build after
> > > > > > > > > > let me say 10mins?
> > > > > > > > > >
> > > > > > > > > You should do a full rebuild. Make sure that PGO is disabled during the rebuild.
> > > > > > > > >
> > > > > > > >
> > > > > > > > Thanks Bill for all the information.
> > > > > > > >
> > > > > > > > And sorry if I am so pedantic.
> > > > > > > >
> > > > > > > > I have installed my Debian system with Legacy-BIOS enabled.
> > > > > > > >
> > > > > > > > When I rebuild with KCFLAGS=-fprofile-use=vmlinux.profdata (LLVM=1 I
> > > > > > > > have as a default) my system hangs on reboot.
> > > > > > > >
> > > > > > > > [ diffconfig ]
> > > > > > > > $ scripts/diffconfig /boot/config-5.11.0-rc3-8-amd64-clang12-pgo
> > > > > > > > /boot/config-5.11.0-rc3-9-amd64-clang12-pgo
> > > > > > > > BUILD_SALT "5.11.0-rc3-8-amd64-clang12-pgo" -> "5.11.0-rc3-9-amd64-clang12-pgo"
> > > > > > > > PGO_CLANG y -> n
> > > > > > > >
> > > > > > > > [ my make line ]
> > > > > > > > $ cat ../start-build_5.11.0-rc3-9-amd64-clang12-pgo.txt
> > > > > > > > dileks     63120   63095  0 06:47 pts/2    00:00:00 /usr/bin/perf_5.10
> > > > > > > > stat make V=1 -j4 HOSTCC=clang HOSTCXX=clang++ HOSTLD=ld.lld CC=clang
> > > > > > > > LD=ld.lld LLVM=1 LLVM_IAS=1 PAHOLE=/opt/pahole/bin/pahole
> > > > > > > > LOCALVERSION=-9-amd64-clang12-pgo KBUILD_VERBOSE=1
> > > > > > > > KBUILD_BUILD_HOST=iniza KBUILD_BUILD_USER=sedat.dilek@...il.com
> > > > > > > > KBUILD_BUILD_TIMESTAMP=2021-01-17 bindeb-pkg
> > > > > > > > KDEB_PKGVERSION=5.11.0~rc3-9~bullseye+dileks1
> > > > > > > > KCFLAGS=-fprofile-use=vmlinux.profdata
> > > > > > > >
> > > > > > > > ( Yes, 06:47 a.m. in the morning :-). )
> > > > > > > >
> > > > > > > > When I boot with the rebuild Linux-kernel I see:
> > > > > > > >
> > > > > > > > Wrong EFI loader signature
> > > > > > > > ...
> > > > > > > > Decompressing
> > > > > > > > Parsing EFI
> > > > > > > > Performing Relocations done.
> > > > > > > > Booting the Kernel.
> > > > > > > >
> > > > > > > > *** SYSTEM HANGS ***
> > > > > > > > ( I waited for approx 1 min )
> > > > > > > >
> > > > > > > > I tried to turn UEFI support ON and OFF.
> > > > > > > > No success.
> > > > > > > >
> > > > > > > > Does Clang-PGO support Legacy-BIOS or is something different wrong?
> > > > > > > >
> > > > > > > > Thanks.
> > > > > > > >
> > > > > > >
> > > > > > > My bootloader is GRUB.
> > > > > > >
> > > > > > > In UEFI-BIOS settings there is no secure-boot disable option.
> > > > > > > Just simple "Use UEFI BIOS" enabled|disabled.
> > > > > > >
> > > > > > > Installed Debian packages:
> > > > > > >
> > > > > > > ii grub-common 2.04-12
> > > > > > > ii grub-pc 2.04-12
> > > > > > > ii grub-pc-bin 2.04-12
> > > > > > > ii grub2-common 2.04-12
> > > > > > >
> > > > > > > I found in the below link to do in grub-shell:
> > > > > > >
> > > > > > > set check_signatures=no
> > > > > > >
> > > > > > > But this is when grub-efi is installed.
> > > > > > >
> > > > > > > - Sedat -
> > > > > > >
> > > > > > > Link: https://unix.stackexchange.com/questions/126286/grub-efi-disable-signature-check
> > > > > >
> > > > > > Forget about that "Wrong EFI bootloader" - I see this with all other
> > > > > > kernels (all boot fine).
> > > > > >
> > > > > > I tried in QEMU with and without KASLR:
> > > > > >
> > > > > > [ run_qemu.sh ]
> > > > > > KPATH=$(pwd)
> > > > > >
> > > > > > APPEND="root=/dev/ram0 console=ttyS0 hung_task_panic=1 earlyprintk=ttyS0,115200"
> > > > > > APPEND="$APPEND nokaslr"
> > > > > >
> > > > > > qemu-system-x86_64 -enable-kvm -M pc -kernel $KPATH/bzImage -initrd
> > > > > > $KPATH/initrd.img -m 512 -net none -serial stdio -append "${APPEND}"
> > > > > > [ /run_qemu.sh ]
> > > > > >
> > > > > > $ ./run_qemu.sh
> > > > > > Probing EDD (edd=off to disable)... ok
> > > > > > Wrong EFI loader signature.
> > > > > > early console in extract_kernel
> > > > > > input_data: 0x000000000289940d
> > > > > > input_len: 0x000000000069804a
> > > > > > output: 0x0000000001000000
> > > > > > output_len: 0x0000000001ef2010
> > > > > > kernel_total_size: 0x0000000001c2c000
> > > > > > needed_size: 0x0000000002000000
> > > > > > trampoline_32bit: 0x000000000009d000
> > > > > >
> > > > > >
> > > > > > KASLR disabled: 'nokaslr' on cmdline.
> > > > > >
> > > > > >
> > > > > > Decompressing Linux... Parsing ELF... No relocation needed... done.
> > > > > > Booting the kernel.
> > > > > >
> > > > > > QEMU run stops, too.
> > > > > >
> > > > >
> > > > > I re-generated my initrd.img with GZIP as compressor (my default is ZSTD).
> > > > >
> > > > > --- /etc/initramfs-tools/initramfs.conf 2021-01-17 12:35:30.823818501 +0100
> > > > > +++ /etc/initramfs-tools/initramfs.conf.zstd    2020-09-21
> > > > > 23:55:43.121735427 +0200
> > > > > @@ -41,7 +41,7 @@ KEYMAP=n
> > > > > # COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz | zstd ]
> > > > > #
> > > > >
> > > > > -COMPRESS=gzip
> > > > > +COMPRESS=zstd
> > > > >
> > > > > #
> > > > > # DEVICE: ...
> > > > >
> > > > > root# KVER="5.11.0-rc3-9-amd64-clang12-pgo" ; update-initramfs -c -k $KVER
> > > > >
> > > > > QEMU boot stops at the same stage.
> > > > >
> > > > > Now, my head is empty...
> > > > >
> > > > > Any comments?
> > > > >
> > > >
> > > > ( Just as a side note I have Nick's DWARF-v5 support enabled. )
> > > >
> > > > There is one EFI related warning in my build-log:
> > > >
> > > > $ grep warning: build-log_5.11.0-rc3-9-amd64-clang12-pgo.txt
> > > > dpkg-architecture: warning: specified GNU system type x86_64-linux-gnu
> > > > does not match CC system type x86_64-pc-linux-gnu, try setting a
> > > > correct CC environment variable
> > > > warning: arch/x86/platform/efi/quirks.c: Function control flow change
> > > > detected (hash mismatch) efi_arch_mem_reserve Hash =
> > > > 391331300655996873 [-Wbackend-plugin]
> > > > warning: arch/x86/platform/efi/efi.c: Function control flow change
> > > > detected (hash mismatch) efi_attr_is_visible Hash = 567185240781730690
> > > > [-Wbackend-plugin]
> > > > arch/x86/crypto/aegis128-aesni-glue.c:265:30: warning: unused variable
> > > > 'simd_alg' [-Wunused-variable]
> > > > warning: lib/crypto/sha256.c: Function control flow change detected
> > > > (hash mismatch) sha256_update Hash = 744640996947387358
> > > > [-Wbackend-plugin]
> > > > warning: arch/x86/boot/compressed/string.c: Function control flow
> > > > change detected (hash mismatch) memcmp Hash = 742261418966908927
> > > > [-Wbackend-plugin]
> > > > warning: arch/x86/boot/compressed/string.c: Function control flow
> > > > change detected (hash mismatch) bcmp Hash = 742261418966908927
> > > > [-Wbackend-plugin]
> > > > warning: arch/x86/boot/compressed/string.c: Function control flow
> > > > change detected (hash mismatch) strcmp Hash = 536873291001348520
> > > > [-Wbackend-plugin]
> > > > warning: arch/x86/boot/compressed/string.c: Function control flow
> > > > change detected (hash mismatch) strnlen Hash = 146835646621254984
> > > > [-Wbackend-plugin]
> > > > warning: arch/x86/boot/compressed/string.c: Function control flow
> > > > change detected (hash mismatch) simple_strtoull Hash =
> > > > 252792765950587360 [-Wbackend-plugin]
> > > > warning: arch/x86/boot/compressed/string.c: Function control flow
> > > > change detected (hash mismatch) strstr Hash = 391331303349076211
> > > > [-Wbackend-plugin]
> > > > warning: arch/x86/boot/compressed/string.c: Function control flow
> > > > change detected (hash mismatch) strchr Hash = 1063705159280644635
> > > > [-Wbackend-plugin]
> > > > warning: arch/x86/boot/compressed/string.c: Function control flow
> > > > change detected (hash mismatch) kstrtoull Hash = 758414239132790022
> > > > [-Wbackend-plugin]
> > > > drivers/infiniband/hw/hfi1/platform.o: warning: objtool: tune_serdes()
> > > > falls through to next function apply_tx_lanes()
> > > >
> > > > Cannot say if this information is helpful.
> > > >
> > >
> > > My LLVM/Clang v12 is from <apt.llvm.org>:
> > >
> > > clang-12 version 1:12~++20210115111113+45ef053bd709-1~exp1~20210115101809.3724
> > >
> > > My kernel-config is attached.
> > >
> >
> > I dropped "LLVM_IAS=1" from my make line and did for my next build:
> >
> > $ scripts/diffconfig /boot/config-5.11.0-rc3-8-amd64-clang12-pgo .config
> > BUILD_SALT "5.11.0-rc3-8-amd64-clang12-pgo" -> "5.11.0-rc3-10-amd64-clang12-pgo"
> > DEBUG_INFO_DWARF2 n -> y
> > DEBUG_INFO_DWARF5 y -> n
> > PGO_CLANG y -> n
> >
> > Means dropped DWARF5 support.
> >
> Hi Sedat,
>
> Using PGO just improves optimizations. So unless there's miscompile,
> or some other nefarious thing, it shouldn't affect how the boot loader
> runs.
>
> As a sanity check, does the same Linux source and compiler version
> generate a bootable kernel when PGO isn't used?
>

Yes, I can boot with the same code base without PGO.

With the attached kernel-config.

I remember there is a fix in CBL issue tracker for...

( https://github.com/ClangBuiltLinux/linux/issues/1250 )

Loading, please wait...
Starting version 247.2-4
[    2.157223] floppy: module verification failed: signature and/or
required key missing - tainting kernel
[    2.179326] i2c_piix4: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.183558] scsi_mod: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.187991] floppy: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.195047] psmouse: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.210404] scsi_mod: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.231055] scsi_mod: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)

Full QEMU log...

$ ./run_qemu.sh
Probing EDD (edd=off to disable)... ok
Wrong EFI loader signature.
early console in extract_kernel
input_data: 0x000000000289c40d
input_len: 0x0000000000693f62
output: 0x0000000001000000
output_len: 0x0000000001ef0224
kernel_total_size: 0x0000000001c2c000
needed_size: 0x0000000002000000
trampoline_32bit: 0x000000000009d000
Physical KASLR using RDTSC...
Virtual KASLR using RDTSC...

Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
[    0.000000] Linux version 5.11.0-rc3-10-amd64-clang12-pgo
(sedat.dilek@...il.com@...za) (Debian clang version
12.0.0-++20210115111113+45ef053bd709-1~exp1~2021011510
1809.3724, LLD 12.0.0) #10~bullseye+dileks1 SMP 2021-01-17
[    0.000000] Command line: root=/dev/ram0 console=ttyS0
hung_task_panic=1 earlyprintk=ttyS0,115200
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001ffdffff] usable
[    0.000000] BIOS-e820: [mem 0x000000001ffe0000-0x000000001fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] printk: bootconsole [earlyser0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.8 present.
[    0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.14.0-2 04/01/2014
[    0.000000] Hypervisor detected: KVM
[    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000000] kvm-clock: cpu 0, msr c877001, primary cpu clock
[    0.000000] kvm-clock: using sched offset of 510123624 cycles
[    0.003240] clocksource: kvm-clock: mask: 0xffffffffffffffff
max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.009652] tsc: Detected 1596.372 MHz processor
[    0.013107] last_pfn = 0x1ffe0 max_arch_pfn = 0x400000000
[    0.015537] x86/PAT: PAT not supported by the CPU.
[    0.017605] x86/PAT: Configuration [0-7]: WB  WT  UC- UC  WB  WT  UC- UC
Memory KASLR using RDTSC...
[    0.038444] found SMP MP-table at [mem 0x000f5ce0-0x000f5cef]
[    0.042330] RAMDISK: [mem 0x1dfdb000-0x1ffdffff]
[    0.044738] ACPI: Early table checksum verification disabled
[    0.047289] ACPI: RSDP 0x00000000000F5B20 000014 (v00 BOCHS )
[    0.049887] ACPI: RSDT 0x000000001FFE1550 000034 (v01 BOCHS
BXPCRSDT 00000001 BXPC 00000001)
[    0.054578] ACPI: FACP 0x000000001FFE1404 000074 (v01 BOCHS
BXPCFACP 00000001 BXPC 00000001)
[    0.058412] ACPI: DSDT 0x000000001FFE0040 0013C4 (v01 BOCHS
BXPCDSDT 00000001 BXPC 00000001)
[    0.062056] ACPI: FACS 0x000000001FFE0000 000040
[    0.064325] ACPI: APIC 0x000000001FFE1478 000078 (v01 BOCHS
BXPCAPIC 00000001 BXPC 00000001)
[    0.068546] ACPI: HPET 0x000000001FFE14F0 000038 (v01 BOCHS
BXPCHPET 00000001 BXPC 00000001)
[    0.073026] ACPI: WAET 0x000000001FFE1528 000028 (v01 BOCHS
BXPCWAET 00000001 BXPC 00000001)
[    0.078063] No NUMA configuration found
[    0.080007] Faking a node at [mem 0x0000000000000000-0x000000001ffdffff]
[    0.083430] NODE_DATA(0) allocated [mem 0x1dfb1000-0x1dfdafff]
[    0.086934] Zone ranges:
[    0.087919]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.089927]   DMA32    [mem 0x0000000001000000-0x000000001ffdffff]
[    0.092270]   Normal   empty
[    0.093824]   Device   empty
[    0.095069] Movable zone start for each node
[    0.096880] Early memory node ranges
[    0.098410]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.101939]   node   0: [mem 0x0000000000100000-0x000000001ffdffff]
[    0.106130] Zeroed struct page in unavailable ranges: 130 pages
[    0.106139] Initmem setup node 0 [mem 0x0000000000001000-0x000000001ffdffff]
[    0.115094] ACPI: PM-Timer IO Port: 0x608
[    0.117173] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.121073] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
[    0.123537] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.126254] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.129062] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.131888] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.135065] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.137286] Using ACPI (MADT) for SMP configuration information
[    0.139743] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.141956] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
[    0.143678] PM: hibernation: Registered nosave memory: [mem
0x00000000-0x00000fff]
[    0.146249] PM: hibernation: Registered nosave memory: [mem
0x0009f000-0x0009ffff]
[    0.148784] PM: hibernation: Registered nosave memory: [mem
0x000a0000-0x000effff]
[    0.152756] PM: hibernation: Registered nosave memory: [mem
0x000f0000-0x000fffff]
[    0.155969] [mem 0x20000000-0xfeffbfff] available for PCI devices
[    0.158542] Booting paravirtualized kernel on KVM
[    0.160520] clocksource: refined-jiffies: mask: 0xffffffff
max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.171049] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:1
nr_cpu_ids:1 nr_node_ids:1
[    0.175162] percpu: Embedded 54 pages/cpu s183512 r8192 d29480 u2097152
[    0.178044] kvm-guest: stealtime: cpu 0, msr 1d418480
[    0.180197] kvm-guest: PV spinlocks disabled, no host support
[    0.182655] Built 1 zonelists, mobility grouping on.  Total pages: 128872
[    0.188717] Policy zone: DMA32
[    0.190055] Kernel command line: root=/dev/ram0 console=ttyS0
hung_task_panic=1 earlyprintk=ttyS0,115200
[    0.194307] Dentry cache hash table entries: 65536 (order: 7,
524288 bytes, linear)
[    0.197691] Inode-cache hash table entries: 32768 (order: 6, 262144
bytes, linear)
[    0.201953] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.206787] Memory: 232680K/523768K available (12295K kernel code,
2462K rwdata, 4008K rodata, 2444K init, 1888K bss, 71012K reserved, 0K
cma-reserved)
[    0.212719] random: get_random_u64 called from
kmem_cache_open+0x27/0x500 with crng_init=0
[    0.212892] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.220858] Kernel/User page tables isolation: enabled
[    0.223136] ftrace: allocating 36189 entries in 142 pages
[    0.249721] ftrace: allocated 142 pages with 4 groups
[    0.252993] rcu: Hierarchical RCU implementation.
[    0.255411] rcu:     RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=1.
[    0.258890]  Rude variant of Tasks RCU enabled.
[    0.260761]  Tracing variant of Tasks RCU enabled.
[    0.262625] rcu: RCU calculated value of scheduler-enlistment delay
is 25 jiffies.
[    0.265212] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.271882] NR_IRQS: 524544, nr_irqs: 256, preallocated irqs: 16
[    0.295378] Console: colour VGA+ 80x25
[    0.297439] printk: console [ttyS0] enabled
[    0.297439] printk: console [ttyS0] enabled
[    0.302560] printk: bootconsole [earlyser0] disabled
[    0.302560] printk: bootconsole [earlyser0] disabled
[    0.307728] ACPI: Core revision 20201113
[    0.310172] clocksource: hpet: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 19112604467 ns
[    0.315115] APIC: Switch to symmetric I/O mode setup
[    0.318899] x2apic enabled
[    0.321088] Switched APIC routing to physical x2apic.
[    0.326381] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.329537] clocksource: tsc-early: mask: 0xffffffffffffffff
max_cycles: 0x1702c1d9d3d, max_idle_ns: 440795278546 ns
[    0.335417] Calibrating delay loop (skipped) preset value.. 3192.74
BogoMIPS (lpj=6385488)
[    0.339418] pid_max: default: 32768 minimum: 301
[    0.341620] LSM: Security Framework initializing
[    0.343446] Yama: becoming mindful.
[    0.345314] AppArmor: AppArmor initialized
[    0.347421] TOMOYO Linux initialized
[    0.349270] Mount-cache hash table entries: 1024 (order: 1, 8192
bytes, linear)
[    0.351417] Mountpoint-cache hash table entries: 1024 (order: 1,
8192 bytes, linear)
Poking KASLR using RDTSC...
[    0.361119] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
[    0.363416] Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
[    0.367419] Spectre V1 : Mitigation: usercopy/swapgs barriers and
__user pointer sanitization
[    0.370260] Spectre V2 : Mitigation: Full generic retpoline
[    0.371412] Spectre V2 : Spectre v2 / SpectreRSB mitigation:
Filling RSB on context switch
[    0.374257] Speculative Store Bypass: Vulnerable
[    0.375416] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.389948] Freeing SMP alternatives memory: 36K
[    0.505617] APIC calibration not consistent with PM-Timer: 101ms
instead of 100ms
[    0.507410] APIC delta adjusted to PM-Timer: 6252138 (6321934)
[    0.507513] smpboot: CPU0: Intel QEMU Virtual CPU version 2.5+
(family: 0x6, model: 0x6, stepping: 0x3)
[    0.512111] Performance Events: PMU not available due to
virtualization, using software events only.
[    0.515510] rcu: Hierarchical SRCU implementation.
[    0.517439] NMI watchdog: Perf NMI watchdog permanently disabled
[    0.519477] smp: Bringing up secondary CPUs ...
[    0.523416] smp: Brought up 1 node, 1 CPU
[    0.525134] smpboot: Max logical packages: 1
[    0.526969] smpboot: Total of 1 processors activated (3192.74 BogoMIPS)
[    0.532118] node 0 deferred pages initialised in 4ms
[    0.534052] devtmpfs: initialized
[    0.535262] x86/mm: Memory block size: 128MB
[    0.535711] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.539428] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.541875] pinctrl core: initialized pinctrl subsystem
[    0.543936] NET: Registered protocol family 16
[    0.547553] audit: initializing netlink subsys (disabled)
[    0.551634] thermal_sys: Registered thermal governor 'fair_share'
[    0.551637] thermal_sys: Registered thermal governor 'bang_bang'
[    0.554723] thermal_sys: Registered thermal governor 'step_wise'
[    0.555425] audit: type=2000 audit(1610926004.833:1):
state=initialized audit_enabled=0 res=1
[    0.563420] thermal_sys: Registered thermal governor 'user_space'
[    0.563434] cpuidle: using governor ladder
[    0.569524] cpuidle: using governor menu
[    0.571485] ACPI: bus type PCI registered
[    0.573517] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.576324] PCI: Using configuration type 1 for base access
[    0.580588] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.772658] ACPI: Added _OSI(Module Device)
[    0.774521] ACPI: Added _OSI(Processor Device)
[    0.775417] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.778176] ACPI: Added _OSI(Processor Aggregator Device)
[    0.779432] ACPI: Added _OSI(Linux-Dell-Video)
[    0.783458] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.785480] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
[    0.788133] ACPI: 1 ACPI AML tables successfully acquired and loaded
[    0.792295] ACPI: Interpreter enabled
[    0.794716] ACPI: (supports S0 S3 S4 S5)
[    0.795415] ACPI: Using IOAPIC for interrupt routing
[    0.797540] PCI: Using host bridge windows from ACPI; if necessary,
use "pci=nocrs" and report a bug
[    0.799590] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.807844] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.811186] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM
Segments MSI HPX-Type3]
[    0.811444] acpi PNP0A03:00: fail to add MMCONFIG information,
can't access extended PCI configuration space under this bridge.
[    0.815895] acpiphp: Slot [3] registered
[    0.819473] acpiphp: Slot [4] registered
[    0.821210] acpiphp: Slot [5] registered
[    0.823453] acpiphp: Slot [6] registered
[    0.825153] acpiphp: Slot [7] registered
[    0.827461] acpiphp: Slot [8] registered
[    0.829166] acpiphp: Slot [9] registered
[    0.831537] acpiphp: Slot [10] registered
[    0.833276] acpiphp: Slot [11] registered
[    0.835447] acpiphp: Slot [12] registered
[    0.837183] acpiphp: Slot [13] registered
[    0.839428] acpiphp: Slot [14] registered
[    0.841167] acpiphp: Slot [15] registered
[    0.843042] acpiphp: Slot [16] registered
[    0.843455] acpiphp: Slot [17] registered
[    0.845205] acpiphp: Slot [18] registered
[    0.847452] acpiphp: Slot [19] registered
[    0.849209] acpiphp: Slot [20] registered
[    0.851448] acpiphp: Slot [21] registered
[    0.853215] acpiphp: Slot [22] registered
[    0.855447] acpiphp: Slot [23] registered
[    0.857179] acpiphp: Slot [24] registered
[    0.859478] acpiphp: Slot [25] registered
[    0.861807] acpiphp: Slot [26] registered
[    0.863150] acpiphp: Slot [27] registered
[    0.863458] acpiphp: Slot [28] registered
[    0.865444] acpiphp: Slot [29] registered
[    0.867451] acpiphp: Slot [30] registered
[    0.868826] acpiphp: Slot [31] registered
[    0.870296] PCI host bridge to bus 0000:00
[    0.871415] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.875414] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.879418] pci_bus 0000:00: root bus resource [mem
0x000a0000-0x000bffff window]
[    0.883416] pci_bus 0000:00: root bus resource [mem
0x20000000-0xfebfffff window]
[    0.887416] pci_bus 0000:00: root bus resource [mem
0x100000000-0x17fffffff window]
[    0.891277] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.891510] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
[    0.896375] pci 0000:00:01.0: [8086:7000] type 00 class 0x060100
[    0.900672] pci 0000:00:01.1: [8086:7010] type 00 class 0x010180
[    0.908157] pci 0000:00:01.1: reg 0x20: [io  0xc000-0xc00f]
[    0.912723] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io  0x01f0-0x01f7]
[    0.915417] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io  0x03f6]
[    0.919413] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io  0x0170-0x0177]
[    0.923413] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io  0x0376]
[    0.926608] pci 0000:00:01.3: [8086:7113] type 00 class 0x068000
[    0.928431] pci 0000:00:01.3: quirk: [io  0x0600-0x063f] claimed by
PIIX4 ACPI
[    0.931433] pci 0000:00:01.3: quirk: [io  0x0700-0x070f] claimed by PIIX4 SMB
[    0.935898] pci 0000:00:02.0: [1234:1111] type 00 class 0x030000
[    0.941665] pci 0000:00:02.0: reg 0x10: [mem 0xfd000000-0xfdffffff pref]
[    0.949458] pci 0000:00:02.0: reg 0x18: [mem 0xfebf0000-0xfebf0fff]
[    0.958562] pci 0000:00:02.0: reg 0x30: [mem 0xfebe0000-0xfebeffff pref]
[    0.961151] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
[    0.963610] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    0.966032] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    0.967627] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
[    0.971526] ACPI: PCI Interrupt Link [LNKS] (IRQs *9)
[    0.974667] iommu: Default domain type: Translated
[    0.975568] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[    0.978113] pci 0000:00:02.0: vgaarb: VGA device added:
decodes=io+mem,owns=io+mem,locks=none
[    0.979413] pci 0000:00:02.0: vgaarb: bridge control possible
[    0.983413] vgaarb: loaded
[    0.984827] EDAC MC: Ver: 3.0.0
[    0.988222] NetLabel: Initializing
[    0.991415] NetLabel:  domain hash size = 128
[    0.992873] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.994825] NetLabel:  unlabeled traffic allowed by default
[    0.995430] PCI: Using ACPI for IRQ routing
[    0.999490] hpet: 3 channels of 0 reserved for per-cpu timers
[    1.001394] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    1.002975] hpet0: 3 comparators, 64-bit 100.000000 MHz counter
[    1.009634] clocksource: Switched to clocksource kvm-clock
[    1.019197] VFS: Disk quotas dquot_6.6.0
[    1.021644] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.029347] AppArmor: AppArmor Filesystem Enabled
[    1.031431] pnp: PnP ACPI init
[    1.033294] pnp: PnP ACPI: found 6 devices
[    1.041838] clocksource: acpi_pm: mask: 0xffffff max_cycles:
0xffffff, max_idle_ns: 2085701024 ns
[    1.045506] NET: Registered protocol family 2
[    1.047325] tcp_listen_portaddr_hash hash table entries: 256
(order: 0, 4096 bytes, linear)
[    1.051250] TCP established hash table entries: 4096 (order: 3,
32768 bytes, linear)
[    1.054797] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    1.057867] TCP: Hash tables configured (established 4096 bind 4096)
[    1.060657] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.063438] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.066616] NET: Registered protocol family 1
[    1.068525] NET: Registered protocol family 44
[    1.070988] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    1.073088] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    1.075350] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[    1.078851] pci_bus 0000:00: resource 7 [mem 0x20000000-0xfebfffff window]
[    1.082396] pci_bus 0000:00: resource 8 [mem 0x100000000-0x17fffffff window]
[    1.086505] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[    1.089003] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    1.091193] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[    1.093281] pci 0000:00:02.0: Video device with shadowed ROM at
[mem 0x000c0000-0x000dffff]
[    1.096308] PCI: CLS 0 bytes, default 64
[    1.098784] Trying to unpack rootfs image as initramfs...
[    1.756924] Freeing initrd memory: 32788K
[    1.759044] clocksource: tsc: mask: 0xffffffffffffffff max_cycles:
0x1702c1d9d3d, max_idle_ns: 440795278546 ns
[    1.765351] Initialise system trusted keyrings
[    1.767287] Key type blacklist registered
[    1.769096] workingset: timestamp_bits=36 max_order=17 bucket_order=0
[    1.773218] zbud: loaded
[    1.774596] integrity: Platform Keyring initialized
[    1.776709] Key type asymmetric registered
[    1.779399] Asymmetric key parser 'x509' registered
[    1.781504] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 251)
[    1.784737] io scheduler mq-deadline registered
[    1.786842] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.790028] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.793393] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200)
is a 16550A
[    1.798437] Linux agpgart interface v0.103
[    1.799944] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@...e.de>
[    1.802535] AMD-Vi: AMD IOMMUv2 functionality not available on this system
[    1.806358] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU]
at 0x60,0x64 irq 1,12
[    1.810762] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.813927] serio: i8042 AUX port at 0x60,0x64 irq 12
[    1.816306] mousedev: PS/2 mouse device common for all mice
[    1.819254] input: AT Translated Set 2 keyboard as
/devices/platform/i8042/serio0/input/input0
[    1.823023] rtc_cmos 00:05: RTC can wake from S4
[    1.826320] rtc_cmos 00:05: registered as rtc0
[    1.829030] rtc_cmos 00:05: setting system clock to
2021-01-17T23:26:45 UTC (1610926005)
[    1.832489] rtc_cmos 00:05: alarms up to one day, y3k, 242 bytes
nvram, hpet irqs
[    1.835661] intel_pstate: CPU model not supported
[    1.837656] ledtrig-cpu: registered to indicate activity on CPUs
[    1.840489] NET: Registered protocol family 10
[    1.857135] Segment Routing with IPv6
[    1.858772] mip6: Mobile IPv6
[    1.860093] NET: Registered protocol family 17
[    1.862844] mpls_gso: MPLS GSO support
[    1.864379] IPI shorthand broadcast: enabled
[    1.865844] sched_clock: Marking stable (1819436328,
44726425)->(1868284483, -4121730)
[    1.869029] registered taskstats version 1
[    1.870771] Loading compiled-in X.509 certificates
[    1.873185] zswap: loaded using pool zstd/zbud
[    1.875399] Key type ._fscrypt registered
[    1.877158] Key type .fscrypt registered
[    1.879447] Key type fscrypt-provisioning registered
[    1.881189] AppArmor: AppArmor sha1 policy hashing enabled
[    1.886920] Freeing unused kernel image (initmem) memory: 2444K
[    1.891517] Write protecting the kernel read-only data: 18432k
[    1.896049] Freeing unused kernel image (text/rodata gap) memory: 2040K
[    1.899196] Freeing unused kernel image (rodata/data gap) memory: 88K
[    1.968324] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.971797] x86/mm: Checking user space page tables
[    2.037848] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    2.040258] Run /init as init process
Loading, please wait...
Starting version 247.2-4
[    2.157223] floppy: module verification failed: signature and/or
required key missing - tainting kernel
[    2.179326] i2c_piix4: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.183558] scsi_mod: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.187991] floppy: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.195047] psmouse: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.210404] scsi_mod: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
[    2.231055] scsi_mod: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... [    2.261574] libcrc32c:
Unknown symbol _GLOBAL_OFFSET_TABLE_ (err -2)
Scanning for Btrfs filesystems
done.
Begin: Waiting for root file system ... Begin: Running
/scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
qemu-system-x86_64: terminating on signal 2

- Sedat -

Download attachment "config-5.11.0-rc3-10-amd64-clang12-pgo" of type "application/octet-stream" (238239 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ