Skip to content
  1. Dec 06, 2023
  2. Nov 23, 2023
    • Arnaldo Carvalho de Melo's avatar
      tools: Disable __packed attribute compiler warning due to -Werror=attributes · 57686a72
      Arnaldo Carvalho de Melo authored
      
      
      Noticed on several perf tools cross build test containers:
      
        [perfbuilder@five ~]$ grep FAIL ~/dm.log/summary
          19    10.18 debian:experimental-x-mips    : FAIL gcc version 12.3.0 (Debian 12.3.0-6)
          20    11.21 debian:experimental-x-mips64  : FAIL gcc version 12.3.0 (Debian 12.3.0-6)
          21    11.30 debian:experimental-x-mipsel  : FAIL gcc version 12.3.0 (Debian 12.3.0-6)
          37    12.07 ubuntu:18.04-x-arm            : FAIL gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
          42    11.91 ubuntu:18.04-x-riscv64        : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          44    13.17 ubuntu:18.04-x-sh4            : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          45    12.09 ubuntu:18.04-x-sparc64        : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
        [perfbuilder@five ~]$
      
        In file included from util/intel-pt-decoder/intel-pt-pkt-decoder.c:10:
        /tmp/perf-6.6.0-rc1/tools/include/asm-generic/unaligned.h: In function 'get_unaligned_le16':
        /tmp/perf-6.6.0-rc1/tools/include/asm-generic/unaligned.h:13:29: error: packed attribute causes inefficient alignment for 'x' [-Werror=attributes]
           13 |         const struct { type x; } __packed *__pptr = (typeof(__pptr))(ptr);      \
              |                             ^
        /tmp/perf-6.6.0-rc1/tools/include/asm-generic/unaligned.h:27:28: note: in expansion of macro '__get_unaligned_t'
           27 |         return le16_to_cpu(__get_unaligned_t(__le16, p));
              |                            ^~~~~~~~~~~~~~~~~
      
      This comes from the kernel, where the -Wattributes and -Wpacked isn't
      used, -Wpacked is already disabled, do it for the attributes as well.
      
      Fixes: a91c9872 ("perf tools: Add get_unaligned_leNN()")
      Suggested-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/lkml/7c5b626c-1de9-4c12-a781-e44985b4a797@intel.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      57686a72
    • Oliver Upton's avatar
      perf build: Ensure sysreg-defs Makefile respects output dir · a29ee6ae
      Oliver Upton authored
      
      
      Currently the sysreg-defs are written out to the source tree
      unconditionally, ignoring the specified output directory. Correct the
      build rule to emit the header to the output directory. Opportunistically
      reorganize the rules to avoid interleaving with the set of beauty make
      rules.
      
      Reported-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      Link: https://lore.kernel.org/r/20231121192956.919380-3-oliver.upton@linux.dev
      
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      a29ee6ae
    • Oliver Upton's avatar
      tools perf: Add arm64 sysreg files to MANIFEST · ef5c9580
      Oliver Upton authored
      
      
      Ian pointed out that source tarballs are incomplete as of commit
      e2bdd172 ("perf build: Generate arm64's sysreg-defs.h and add to
      include path"), since the source files needed from the kernel tree do
      not appear in the manifest. Add them.
      
      Reported-by: default avatarIan Rogers <irogers@google.com>
      Fixes: e2bdd172 ("perf build: Generate arm64's sysreg-defs.h and add to include path")
      Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      Link: https://lore.kernel.org/r/20231121192956.919380-2-oliver.upton@linux.dev
      
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      ef5c9580
    • Namhyung Kim's avatar
      tools/perf: Update tools's copy of mips syscall table · 027905fe
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: linux-mips@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-14-namhyung@kernel.org
      027905fe
    • Namhyung Kim's avatar
      tools/perf: Update tools's copy of s390 syscall table · d3968c97
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Alexander Gordeev <agordeev@linux.ibm.com>
      Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
      Cc: Sven Schnelle <svens@linux.ibm.com>
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-13-namhyung@kernel.org
      d3968c97
    • Namhyung Kim's avatar
      tools/perf: Update tools's copy of powerpc syscall table · 3483d244
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nicholas Piggin <npiggin@gmail.com>
      Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-12-namhyung@kernel.org
      3483d244
    • Namhyung Kim's avatar
      tools/perf: Update tools's copy of x86 syscall table · b3b11aed
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: x86@kernel.org
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-11-namhyung@kernel.org
      b3b11aed
    • Namhyung Kim's avatar
      tools headers: Update tools's copy of s390/asm headers · e1d7426b
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Alexander Gordeev <agordeev@linux.ibm.com>
      Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
      Cc: Sven Schnelle <svens@linux.ibm.com>
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-10-namhyung@kernel.org
      e1d7426b
    • Namhyung Kim's avatar
      tools headers: Update tools's copy of arm64/asm headers · fad8afdc
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-9-namhyung@kernel.org
      fad8afdc
    • Namhyung Kim's avatar
      tools headers: Update tools's copy of x86/asm headers · c23708f3
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: x86@kernel.org
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-8-namhyung@kernel.org
      c23708f3
    • Namhyung Kim's avatar
      tools headers: Update tools's copy of socket.h header · fd2ddee7
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-7-namhyung@kernel.org
      fd2ddee7
    • Namhyung Kim's avatar
      tools headers UAPI: Update tools's copy of unistd.h header · 91c97b36
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: linux-arch@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-6-namhyung@kernel.org
      91c97b36
    • Namhyung Kim's avatar
      tools headers UAPI: Update tools's copy of vhost.h header · daa97513
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Jason Wang <jasowang@redhat.com>
      Cc: kvm@vger.kernel.org
      Cc: virtualization@lists.linux.dev
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-5-namhyung@kernel.org
      daa97513
    • Namhyung Kim's avatar
      tools headers UAPI: Update tools's copy of mount.h header · fb3648a6
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Christian Brauner <brauner@kernel.org>
      Cc: linux-fsdevel@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-4-namhyung@kernel.org
      fb3648a6
    • Namhyung Kim's avatar
      tools headers UAPI: Update tools's copy of kvm.h header · 5a9f95b6
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: kvm@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-3-namhyung@kernel.org
      5a9f95b6
    • Namhyung Kim's avatar
      tools headers UAPI: Update tools's copy of fscrypt.h header · 11184466
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: Eric Biggers <ebiggers@kernel.org>
      Cc: "Theodore Y. Ts'o" <tytso@mit.edu>
      Cc: Jaegeuk Kim <jaegeuk@kernel.org>
      Cc: linux-fscrypt@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-2-namhyung@kernel.org
      11184466
    • Namhyung Kim's avatar
      tools headers UAPI: Update tools's copy of drm headers · 1041dfe6
      Namhyung Kim authored
      
      
      tldr; Just FYI, I'm carrying this on the perf tools tree.
      
      Full explanation:
      
      There used to be no copies, with tools/ code using kernel headers
      directly. From time to time tools/perf/ broke due to legitimate kernel
      hacking. At some point Linus complained about such direct usage. Then we
      adopted the current model.
      
      The way these headers are used in perf are not restricted to just
      including them to compile something.
      
      There are sometimes used in scripts that convert defines into string
      tables, etc, so some change may break one of these scripts, or new MSRs
      may use some different #define pattern, etc.
      
      E.g.:
      
        $ ls -1 tools/perf/trace/beauty/*.sh | head -5
        tools/perf/trace/beauty/arch_errno_names.sh
        tools/perf/trace/beauty/drm_ioctl.sh
        tools/perf/trace/beauty/fadvise.sh
        tools/perf/trace/beauty/fsconfig.sh
        tools/perf/trace/beauty/fsmount.sh
        $
        $ tools/perf/trace/beauty/fadvise.sh
        static const char *fadvise_advices[] = {
              [0] = "NORMAL",
              [1] = "RANDOM",
              [2] = "SEQUENTIAL",
              [3] = "WILLNEED",
              [4] = "DONTNEED",
              [5] = "NOREUSE",
        };
        $
      
      The tools/perf/check-headers.sh script, part of the tools/ build
      process, points out changes in the original files.
      
      So its important not to touch the copies in tools/ when doing changes in
      the original kernel headers, that will be done later, when
      check-headers.sh inform about the change to the perf tools hackers.
      
      Cc: David Airlie <airlied@gmail.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <mripard@kernel.org>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: dri-devel@lists.freedesktop.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20231121225650.390246-1-namhyung@kernel.org
      1041dfe6
  3. Nov 22, 2023
  4. Nov 20, 2023
  5. Nov 19, 2023