1. 07 11月, 2021 7 次提交
    • J
      perf tools: Check vmlinux/kallsyms arguments in all tools · 7cc72553
      James Clark 提交于
      Only perf report checked the validity of these arguments so apply the
      same check to all tools that read them for consistency.
      Signed-off-by: NJames Clark <james.clark@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Denis Nikitin <denik@chromium.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20211018134844.2627174-3-james.clark@arm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      7cc72553
    • J
      perf tools: Refactor out kernel symbol argument sanity checking · a3df50ab
      James Clark 提交于
      User supplied values for vmlinux and kallsyms are checked before
      continuing. Refactor this into a function so that it can be used
      elsewhere.
      Reviewed-by: NDenis Nikitin <denik@chromium.org>
      Signed-off-by: NJames Clark <james.clark@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20211018134844.2627174-2-james.clark@arm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a3df50ab
    • L
      perf symbols: Ignore $a/$d symbols for ARM modules · 1a86f4ba
      Lexi Shao 提交于
      On anARM machine, kernel symbols from modules can be resolved to $a
      instead of printing the actual symbol name. Ignore symbols starting with
      "$" when building kallsyms rbtree.
      
      A sample stacktrace is shown as follows:
      
        c0f2e39c schedule_hrtimeout+0x14 ([kernel.kallsyms])
        bf4a66d8 $a+0x78 ([test_module])
        c0a4f5f4 kthread+0x15c ([kernel.kallsyms])
        c0a001f8 ret_from_fork+0x14 ([kernel.kallsyms])
      
      On an ARM machine, $a/$d symbols are used by the compiler to mark the
      beginning of code/data part in code section. These symbols are filtered
      out when linking vmlinux(see scripts/kallsyms.c ignored_prefixes), but
      are left on modules. So there are $a symbols in /proc/kallsyms which
      share the same addresses with the actual module symbols and confuses
      perf when resolving symbols.
      
      After this patch, the module symbol name is printed:
      
        c0f2e39c schedule_hrtimeout+0x14 ([kernel.kallsyms])
        bf4a66d8 test_func+0x78 ([test_module])
        c0a4f5f4 kthread+0x15c ([kernel.kallsyms])
        c0a001f8 ret_from_fork+0x14 ([kernel.kallsyms])
      Reviewed-by: NJames Clark <james.clark@arm.com>
      Signed-off-by: NLexi Shao <shaolexi@huawei.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Andrii Nakryiko <andrii@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jessica Yu <jeyu@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Fastabend <john.fastabend@gmail.com>
      Cc: KP Singh <kpsingh@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Nathan Chancellor <natechancellor@gmail.com>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: QiuXi <qiuxi1@huawei.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Wangbing <wangbing6@huawei.com>
      Cc: Xiaoming Ni <nixiaoming@huawei.com>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: bpf@vger.kernel.org
      Cc: clang-built-linux@googlegroups.com
      Link: https://lore.kernel.org/r/20211029065038.39449-2-shaolexi@huawei.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1a86f4ba
    • R
      perf evsel: Don't set exclude_guest by default · eb39bf32
      Ravi Bangoria 提交于
      Perf tool sets exclude_guest by default while calling perf_event_open().
      Because IBS does not have filtering capability, it always gets rejected
      by IBS PMU driver and thus perf falls back to non-precise sampling. Fix
      it by not setting exclude_guest by default on AMD.
      
      Before:
        $ sudo ./perf record -C 0 -vvv true |& grep precise
          precise_ip                       3
        decreasing precise_ip by one (2)
          precise_ip                       2
        decreasing precise_ip by one (1)
          precise_ip                       1
        decreasing precise_ip by one (0)
      
      After:
        $ sudo ./perf record -C 0 -vvv true |& grep precise
          precise_ip                       3
        decreasing precise_ip by one (2)
          precise_ip                       2
      
      Committer notes:
      
      Fixup init to zero for perf_env in older compilers:
      
        arch/x86/util/evsel.c:15:26: error: missing field 'os_release' initializer [-Werror,-Wmissing-field-initializers]
                struct perf_env env = {0};
                                        ^
      
      Committer notes:
      
      Namhyung remarked:
      
        It'd be nice if it can cover explicit "-e cycles:pp" as well.
      
      Ravi clarified:
      
        For explicit :pp modifier, evsel->precise_max does not get set and thus perf
        does not try with different attr->precise_ip values while exclude_guest set.
        So no issue with explicit :pp:
      
          $ sudo ./perf record -C 0 -e cycles:pp -vvv |& grep "precise_ip\|exclude_guest"
            precise_ip                       2
            exclude_guest                    1
            precise_ip                       2
            exclude_guest                    1
          switching off exclude_guest, exclude_host
            precise_ip                       2
          ^C
      
        Also, with :P modifier, evsel->precise_max gets set but exclude_guest does
        not and thus :P also works fine:
      
          $ sudo ./perf record -C 0 -e cycles:P -vvv |& grep "precise_ip\|exclude_guest"
            precise_ip                       3
          decreasing precise_ip by one (2)
            precise_ip                       2
          ^C
      Reported-by: NKim Phillips <kim.phillips@amd.com>
      Signed-off-by: NRavi Bangoria <ravi.bangoria@amd.com>
      Acked-by: NNamhyung Kim <namhyung@kernel.org>
      Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lore.kernel.org/lkml/20211103072112.32312-1-ravi.bangoria@amd.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      eb39bf32
    • N
      perf evsel: Fix missing exclude_{host,guest} setting · 3500eeeb
      Namhyung Kim 提交于
      The current logic for the perf missing feature has a bug that it can
      wrongly clear some modifiers like G or H.  Actually some PMUs don't
      support any filtering or exclusion while others do.  But we check it as
      a global feature.
      
      For example, the cycles event can have 'G' modifier to enable it only in
      the guest mode on x86.  When you don't run any VMs it'll return 0.
      
        # perf stat -a -e cycles:G sleep 1
      
          Performance counter stats for 'system wide':
      
                          0      cycles:G
      
                1.000721670 seconds time elapsed
      
      But when it's used with other pmu events that don't support G modifier,
      it'll be reset and return non-zero values.
      
        # perf stat -a -e cycles:G,msr/tsc/ sleep 1
      
          Performance counter stats for 'system wide':
      
                538,029,960      cycles:G
             16,924,010,738      msr/tsc/
      
                1.001815327 seconds time elapsed
      
      This is because of the missing feature detection logic being global.
      Add a hashmap to set pmu-specific exclude_host/guest features.
      
      Committer notes:
      
      Fix 'perf test python' by adding a stub for evsel__find_pmu() in
      tools/perf/util/python.c, document that it is used so far only for the
      above reasons so that if anybody needs this in the python binding
      usecases, we can revisit this.
      Reported-by: NStephane Eranian <eranian@google.com>
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ravi Bangoria <ravi.bangoria@amd.com>
      Link: http://lore.kernel.org/lkml/20211105205847.120950-1-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3500eeeb
    • I
      perf bpf: Add missing free to bpf_event__print_bpf_prog_info() · 88c42f4d
      Ian Rogers 提交于
      If btf__new() is called then there needs to be a corresponding btf__free().
      
      Fixes: f8dfeae0 ("perf bpf: Show more BPF program info in print_bpf_prog_info()")
      Signed-off-by: NIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Andrii Nakryiko <andrii@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Fastabend <john.fastabend@gmail.com>
      Cc: KP Singh <kpsingh@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: bpf@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Link: http://lore.kernel.org/lkml/20211106053733.3580931-2-irogers@google.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      88c42f4d
    • A
      perf beauty: Update copy of linux/socket.h with the kernel sources · 6da2a45e
      Arnaldo Carvalho de Melo 提交于
      To pick the changes in:
      
        99ce45d5 ("mctp: Implement extended addressing")
        55c42fa7 ("mptcp: add MPTCP_INFO getsockopt")
      
      That don't result in any changes in the tables generated from that
      header.
      
      A table generator for setsockopt is needed, probably will be done in the
      5.16 cycle.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/perf/trace/beauty/include/linux/socket.h' differs from latest version at 'include/linux/socket.h'
        diff -u tools/perf/trace/beauty/include/linux/socket.h include/linux/socket.h
      
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Florian Westphal <fw@strlen.de>
      Cc: Jeremy Kerr <jk@codeconstruct.com.au>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      6da2a45e
  2. 04 11月, 2021 2 次提交
    • I
      perf clang: Fixes for more recent LLVM/clang · 32f7aa27
      Ian Rogers 提交于
      The parameters to two functions and the location of a variable have
      changed in more recent LLVM/clang releases.
      
      Remove the unneecessary -fmessage-length and -ferror-limit flags, the
      former causes failures like:
      
        58: builtin clang support                                           :
        58.1: builtin clang compile C source to IR                          :
        --- start ---
        test child forked, pid 279307
        error: unknown argument: '-fmessage-length'
        1 error generated.
        test child finished with -1
      
      Tested with LLVM 6, 8, 9, 10 and 11.
      Reviewed-by: NFangrui Song <maskray@google.com>
      Signed-off-by: NIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sedat Dilek <sedat.dilek@gmail.com>,
      Cc: llvm@lists.linux.dev
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      32f7aa27
    • I
      tools: Bump minimum LLVM C++ std to GNU++14 · d0d0f0c1
      Ian Rogers 提交于
      LLVM 9 (current release is LLVM 13) moved the minimum C++ version to
      GNU++14. Bump the version numbers in the feature test and perf build.
      Reviewed-by: NFangrui Song <maskray@google.com>
      Signed-off-by: NIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sedat Dilek <sedat.dilek@gmail.com>
      Cc: llvm@lists.linux.dev
      Link: https://lore.kernel.org/r/20211012021321.291635-1-irogers@google.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      d0d0f0c1
  3. 02 11月, 2021 16 次提交
  4. 01 11月, 2021 5 次提交
    • A
      Revert "perf bench futex: Add support for 32-bit systems with 64-bit time_t" · ba4026b0
      Arnaldo Carvalho de Melo 提交于
      This reverts commit c1ff12da.
      
      This commit makes the build break on ubuntu 20.04 and other older
      systems and it as well has identation problems, lets revert it till we
      get these problems fixed.
      
      Test results:
      
         1    78.36 almalinux:8                   : Ok   gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.0 (Red Hat 11.0.0-1.module_el8.4.0+2107+39fed697)
         2     8.40 alpine:3.4                    : FAIL gcc version 5.3.0 (Alpine 5.3.0)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
         3     8.89 alpine:3.5                    : FAIL gcc version 6.2.1 20160822 (Alpine 6.2.1)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
         4     8.59 alpine:3.6                    : FAIL gcc version 6.3.0 (Alpine 6.3.0)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
         5     9.01 alpine:3.7                    : FAIL gcc version 6.4.0 (Alpine 6.4.0)
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
         6     8.70 alpine:3.8                    : FAIL gcc version 6.4.0 (Alpine 6.4.0)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
         7     9.70 alpine:3.9                    : FAIL gcc version 8.3.0 (Alpine 8.3.0)
          In file included from bench/futex-wake.c:25:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-hash.c:29:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
         8     9.40 alpine:3.10                   : FAIL gcc version 8.3.0 (Alpine 8.3.0)
          In file included from bench/futex-hash.c:29:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
         9     9.81 alpine:3.11                   : FAIL gcc version 9.3.0 (Alpine 9.3.0)
          In file included from bench/futex-hash.c:29:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
             16 | #include <linux/time_types.h>
                |          ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
             16 | #include <linux/time_types.h>
                |          ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        10    10.32 alpine:3.12                   : FAIL gcc version 9.3.0 (Alpine 9.3.0)
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
             64 |  if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                |                                 ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             68 |   struct __kernel_old_timespec ts32;
                |                                ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        11    99.82 alpine:3.13                   : Ok   gcc (Alpine 10.2.1_pre1) 10.2.1 20201203 , Alpine clang version 10.0.1
        12    87.39 alpine:3.14                   : Ok   gcc (Alpine 10.3.1_git20210424) 10.3.1 20210424 , Alpine clang version 11.1.0
        13    86.89 alpine:edge                   : Ok   gcc (Alpine 10.3.1_git20210921) 10.3.1 20210921 , Alpine clang version 12.0.1
        14     7.30 alt:p8                        : FAIL gcc version 5.3.1 20151207 (ALT p8 5.3.1-alt3.M80P.1) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          make[3]: *** [bench] Error 2
        15    63.92 alt:p9                        : Ok   x86_64-alt-linux-gcc (GCC) 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) , clang version 10.0.0
        16    61.42 alt:sisyphus                  : Ok   x86_64-alt-linux-gcc (GCC) 11.2.1 20210911 (ALT Sisyphus 11.2.1-alt1) , ALT Linux Team clang version 12.0.1
        17     8.30 amazonlinux:1                 : FAIL gcc version 7.2.1 20170915 (Red Hat 7.2.1-2) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [bench] Error 2
        18     8.71 amazonlinux:2                 : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-13) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [bench] Error 2
        19    79.56 centos:8                      : Ok   gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.0 (Red Hat 11.0.0-1.module_el8.4.0+587+5187cac0)
        20    82.28 centos:stream                 : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-3) , clang version 12.0.1 (Red Hat 12.0.1-2.module_el8.6.0+937+1cafe22c)
        21    55.24 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 11.2.1 20211020 releases/gcc-11.2.0-375-g40b209e340 , clang version 11.1.0
        22     7.41 debian:9                      : FAIL gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        23     7.90 debian:10                     : FAIL gcc version 8.3.0 (Debian 8.3.0-6)
          In file included from bench/futex-hash.c:29:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        24    60.32 debian:11                     : Ok   gcc (Debian 10.2.1-6) 10.2.1 20210110 , Debian clang version 11.0.1-2
        25    59.42 debian:experimental           : Ok   gcc (Debian 11.2.0-10) 11.2.0 , Debian clang version 11.1.0-4
        26    23.76 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 11.2.0-9) 11.2.0
        27    19.25 debian:experimental-x-mips    : Ok   mips-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110
        28    21.25 debian:experimental-x-mips64  : Ok   mips64-linux-gnuabi64-gcc (Debian 10.2.1-6) 10.2.1 20210110
        29    21.88 debian:experimental-x-mipsel  : Ok   mipsel-linux-gnu-gcc (Debian 11.2.0-9) 11.2.0
        30     8.20 fedora:22                     : FAIL gcc version 5.3.1 20160406 (Red Hat 5.3.1-6) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        31     8.20 fedora:23                     : FAIL gcc version 5.3.1 20160406 (Red Hat 5.3.1-6) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        32     8.59 fedora:24                     : FAIL gcc version 6.3.1 20161221 (Red Hat 6.3.1-1) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        33     6.60 fedora:24-x-ARC-uClibc        : FAIL gcc version 7.1.1 20170710 (ARCompact ISA Linux uClibc toolchain 2017.09-rc2)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        34     8.59 fedora:25                     : FAIL gcc version 6.4.1 20170727 (Red Hat 6.4.1-1) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                                        ^
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        35    14.61 fedora:26                     : FAIL gcc version 7.3.1 20180130 (Red Hat 7.3.1-2) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        36     8.79 fedora:27                     : FAIL gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        37    15.12 fedora:28                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
          In file included from bench/futex-wake.c:25:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-hash.c:29:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        38     9.60 fedora:29                     : FAIL gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC)
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
            if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                                           ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             struct __kernel_old_timespec ts32;
                                          ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        39   101.90 fedora:30                     : Ok   gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) , clang version 8.0.0 (Fedora 8.0.0-3.fc30)
        40    99.30 fedora:31                     : Ok   gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) , clang version 9.0.1 (Fedora 9.0.1-4.fc31)
        41    82.46 fedora:32                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 10.0.1 (Fedora 10.0.1-3.fc32)
        42    81.32 fedora:33                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 11.0.0 (Fedora 11.0.0-3.fc33)
        43    84.07 fedora:34                     : Ok   gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1) , clang version 12.0.1 (Fedora 12.0.1-1.fc34)
        44     7.09 fedora:34-x-ARC-glibc         : FAIL gcc version 8.3.1 20190225 (ARC HS GNU/Linux glibc toolchain 2019.03-rc1)
          In file included from bench/futex-hash.c:29:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        45     6.29 fedora:34-x-ARC-uClibc        : FAIL gcc version 8.3.1 20190225 (ARCv2 ISA Linux uClibc toolchain 2019.03-rc1)
          In file included from bench/futex-hash.c:29:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        46    74.74 fedora:35                     : Ok   gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1) , clang version 13.0.0 (Fedora 13.0.0~rc1-1.fc35)
        47    73.13 fedora:rawhide                : Ok   gcc (GCC) 11.2.1 20211019 (Red Hat 11.2.1-6) , clang version 13.0.0 (Fedora 13.0.0-4.fc36)
        48    28.17 gentoo-stage3:latest          : Ok   gcc (Gentoo 11.2.0 p1) 11.2.0
        49     9.10 mageia:6                      : FAIL gcc version 5.5.0 (Mageia 5.5.0-1.mga6)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        50    38.60 mageia:7                      : FAIL clang version 8.0.0 (Mageia 8.0.0-1.mga7)
                yychar = yylex (&yylval, &yylloc, scanner);
                         ^
          #define yylex           parse_events_lex
                                  ^
          1 error generated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: util] Error 2
        51     6.18 openmandriva:cooker           : FAIL gcc version 11.2.0 20210728 (OpenMandriva) (GCC)
          In file included from builtin-bench.c:22:
          bench/bench.h:66:19: error: conflicting types for 'pthread_attr_setaffinity_np'; have 'int(pthread_attr_t *, size_t,  cpu_set_t *)' {aka 'int(pthread_attr_t *, long unsigned int,  cpu_set_t *)'}
             66 | static inline int pthread_attr_setaffinity_np(pthread_attr_t *attr __maybe_unused,
                |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
          In file included from bench/bench.h:64,
                           from builtin-bench.c:22:
          /usr/include/pthread.h:394:12: note: previous declaration of 'pthread_attr_setaffinity_np' with type 'int(pthread_attr_t *, size_t,  const cpu_set_t *)' {aka 'int(pthread_attr_t *, long unsigned int,  const cpu_set_t *)'}
            394 | extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
                |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
          file: Compiled magic version [540] does not match with shared library magic version [539]
      
          ld: warning: -r and --gc-sections may not be used together, disabling --gc-sections
          ld: warning: -r and --icf may not be used together, disabling --icf
          ld: warning: -r and --gc-sections may not be used together, disabling --gc-sections
          ld: warning: -r and --icf may not be used together, disabling --icf
          file: Compiled magic version [540] does not match with shared library magic version [539]
      
          file: Compiled magic version [540] does not match with shared library magic version [539]
      
          ld: warning: -r and --gc-sections may not be used together, disabling --gc-sections
          ld: warning: -r and --icf may not be used together, disabling --icf
        52    12.51 opensuse:15.0                 : FAIL gcc version 7.4.1 20190905 [gcc-7-branch revision 275407] (SUSE Linux)
          Makefile.config:999: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
          update-alternatives: error: no alternatives for java
          update-alternatives: error: no alternatives for java
          Makefile.config:1043: No openjdk development package found, please install JDK package, e.g. openjdk-8-jdk, java-1.8.0-openjdk-devel
      
          Auto-detecting system features:
          ...                         dwarf: [ on  ]
          ...            dwarf_getlocations: [ on  ]
          ...                         glibc: [ on  ]
          ...                        libbfd: [ OFF ]
          ...                libbfd-buildid: [ OFF ]
          ...                        libcap: [ on  ]
          ...                        libelf: [ on  ]
          ...                       libnuma: [ on  ]
          ...        numa_num_possible_cpus: [ on  ]
          ...                       libperl: [ on  ]
          ...                     libpython: [ on  ]
          ...                     libcrypto: [ on  ]
          ...                     libunwind: [ on  ]
          ...            libdw-dwarf-unwind: [ on  ]
          ...                          zlib: [ on  ]
          ...                          lzma: [ on  ]
          ...                     get_cpuid: [ on  ]
          ...                           bpf: [ on  ]
          ...                        libaio: [ on  ]
          ...                       libzstd: [ on  ]
          ...        disassembler-four-args: [ on  ]
      
            PERF_VERSION = 5.15.g875eaa39
            GEN     perf-archive
            GEN     perf-with-kcore
            GEN     perf-iostat
          --
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-requeue.c:26:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        53    12.41 opensuse:15.1                 : FAIL gcc version 7.5.0 (SUSE Linux)
          Makefile.config:999: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
          update-alternatives: error: no alternatives for java
          update-alternatives: error: no alternatives for java
          Makefile.config:1043: No openjdk development package found, please install JDK package, e.g. openjdk-8-jdk, java-1.8.0-openjdk-devel
      
          Auto-detecting system features:
          ...                         dwarf: [ on  ]
          ...            dwarf_getlocations: [ on  ]
          ...                         glibc: [ on  ]
          ...                        libbfd: [ OFF ]
          ...                libbfd-buildid: [ OFF ]
          ...                        libcap: [ on  ]
          ...                        libelf: [ on  ]
          ...                       libnuma: [ on  ]
          ...        numa_num_possible_cpus: [ on  ]
          ...                       libperl: [ on  ]
          ...                     libpython: [ on  ]
          ...                     libcrypto: [ on  ]
          ...                     libunwind: [ on  ]
          ...            libdw-dwarf-unwind: [ on  ]
          ...                          zlib: [ on  ]
          ...                          lzma: [ on  ]
          ...                     get_cpuid: [ on  ]
          ...                           bpf: [ on  ]
          ...                        libaio: [ on  ]
          ...                       libzstd: [ on  ]
          ...        disassembler-four-args: [ on  ]
      
            PERF_VERSION = 5.15.g875eaa39
            GEN     perf-archive
            GEN     perf-with-kcore
            GEN     perf-iostat
          --
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-requeue.c:26:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        54    12.20 opensuse:15.2                 : FAIL gcc version 7.5.0 (SUSE Linux)
          Makefile.config:999: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
          update-alternatives: error: no alternatives for java
          update-alternatives: error: no alternatives for java
          Makefile.config:1043: No openjdk development package found, please install JDK package, e.g. openjdk-8-jdk, java-1.8.0-openjdk-devel
      
          Auto-detecting system features:
          ...                         dwarf: [ on  ]
          ...            dwarf_getlocations: [ on  ]
          ...                         glibc: [ on  ]
          ...                        libbfd: [ OFF ]
          ...                libbfd-buildid: [ OFF ]
          ...                        libcap: [ on  ]
          ...                        libelf: [ on  ]
          ...                       libnuma: [ on  ]
          ...        numa_num_possible_cpus: [ on  ]
          ...                       libperl: [ on  ]
          ...                     libpython: [ on  ]
          ...                     libcrypto: [ on  ]
          ...                     libunwind: [ on  ]
          ...            libdw-dwarf-unwind: [ on  ]
          ...                          zlib: [ on  ]
          ...                          lzma: [ on  ]
          ...                     get_cpuid: [ on  ]
          ...                           bpf: [ on  ]
          ...                        libaio: [ on  ]
          ...                       libzstd: [ on  ]
          ...        disassembler-four-args: [ on  ]
      
            PERF_VERSION = 5.15.g875eaa39
            GEN     perf-archive
            GEN     perf-with-kcore
            GEN     perf-iostat
          --
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
            if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                                           ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             struct __kernel_old_timespec ts32;
                                          ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
            if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                                           ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             struct __kernel_old_timespec ts32;
                                          ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          In file included from bench/futex-wake-parallel.c:31:0:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
            if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                                           ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             struct __kernel_old_timespec ts32;
                                          ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        55    12.30 opensuse:15.3                 : FAIL gcc version 7.5.0 (SUSE Linux)
          Makefile.config:999: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
          update-alternatives: error: no alternatives for java
          update-alternatives: error: no alternatives for java
          Makefile.config:1043: No openjdk development package found, please install JDK package, e.g. openjdk-8-jdk, java-1.8.0-openjdk-devel
      
          Auto-detecting system features:
          ...                         dwarf: [ on  ]
          ...            dwarf_getlocations: [ on  ]
          ...                         glibc: [ on  ]
          ...                        libbfd: [ OFF ]
          ...                libbfd-buildid: [ OFF ]
          ...                        libcap: [ on  ]
          ...                        libelf: [ on  ]
          ...                       libnuma: [ on  ]
          ...        numa_num_possible_cpus: [ on  ]
          ...                       libperl: [ on  ]
          ...                     libpython: [ on  ]
          ...                     libcrypto: [ on  ]
          ...                     libunwind: [ on  ]
          ...            libdw-dwarf-unwind: [ on  ]
          ...                          zlib: [ on  ]
          ...                          lzma: [ on  ]
          ...                     get_cpuid: [ on  ]
          ...                           bpf: [ on  ]
          ...                        libaio: [ on  ]
          ...                       libzstd: [ on  ]
          ...        disassembler-four-args: [ on  ]
      
            PERF_VERSION = 5.15.g875eaa39
            GEN     perf-archive
            GEN     perf-with-kcore
            GEN     perf-iostat
          --
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
            if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                                           ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             struct __kernel_old_timespec ts32;
                                          ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
            if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                                           ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             struct __kernel_old_timespec ts32;
                                          ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          cc1: all warnings being treated as errors
          In file included from bench/futex-wake-parallel.c:31:0:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
            if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                                           ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             struct __kernel_old_timespec ts32;
                                          ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        56    92.79 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 11.2.1 20210816 [revision 056e324ce46a7924b5cf10f61010cf9dd2ca10e9] , clang version 13.0.0
        57    78.85 oraclelinux:8                 : Ok   gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1.0.4) , clang version 11.0.0 (Red Hat 11.0.0-1.0.1.module+el8.4.0+20046+39fed697)
        58    78.47 rockylinux:8                  : Ok   gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.0 (Red Hat 11.0.0-1.module+el8.4.0+412+05cf643f)
        59     8.32 ubuntu:16.04                  : FAIL gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        60     7.19 ubuntu:16.04-x-arm            : FAIL gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9)
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        61    18.14 ubuntu:16.04-x-arm64          : FAIL gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        62     6.99 ubuntu:16.04-x-powerpc        : FAIL gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        63     7.29 ubuntu:16.04-x-powerpc64      : FAIL gcc version 5.4.0 20160609 (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-requeue.c:26:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-lock-pi.c:19:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        64     7.29 ubuntu:16.04-x-powerpc64el    : FAIL gcc version 5.4.0 20160609 (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        65     6.59 ubuntu:16.04-x-s390           : FAIL gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:0:
          bench/futex.h:16:30: fatal error: linux/time_types.h: No such file or directory
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        66     9.00 ubuntu:18.04                  : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        67     7.49 ubuntu:18.04-x-arm            : FAIL gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        68     7.49 ubuntu:18.04-x-arm64          : FAIL gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        69     6.09 ubuntu:18.04-x-m68k           : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake-parallel.c:31:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        70     7.40 ubuntu:18.04-x-powerpc        : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        71     8.00 ubuntu:18.04-x-powerpc64      : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        72     7.99 ubuntu:18.04-x-powerpc64el    : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        73     6.89 ubuntu:18.04-x-riscv64        : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        74     6.69 ubuntu:18.04-x-s390           : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        75     7.29 ubuntu:18.04-x-sh4            : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        76     6.69 ubuntu:18.04-x-sparc64        : FAIL gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
          In file included from bench/futex-hash.c:29:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          In file included from bench/futex-wake.c:25:0:
          bench/futex.h:16:10: fatal error: linux/time_types.h: No such file or directory
           #include <linux/time_types.h>
                    ^~~~~~~~~~~~~~~~~~~~
          compilation terminated.
          /git/perf-5.15.0/tools/build/Makefile.build:139: recipe for target 'bench' failed
          make[3]: *** [bench] Error 2
        77     9.59 ubuntu:20.04                  : FAIL gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
             64 |  if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                |                                 ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             68 |   struct __kernel_old_timespec ts32;
                |                                ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          In file included from bench/futex-wake.c:25:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
             64 |  if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                |                                 ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             68 |   struct __kernel_old_timespec ts32;
                |                                ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          In file included from bench/futex-wake-parallel.c:31:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
             64 |  if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                |                                 ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             68 |   struct __kernel_old_timespec ts32;
                |                                ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        78     8.29 ubuntu:20.04-x-powerpc64el    : FAIL gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1~20.04)
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
             64 |  if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                |                                 ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             68 |   struct __kernel_old_timespec ts32;
                |                                ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          In file included from bench/futex-wake.c:25:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
             64 |  if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                |                                 ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             68 |   struct __kernel_old_timespec ts32;
                |                                ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          In file included from bench/futex-requeue.c:26:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
             64 |  if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                |                                 ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             68 |   struct __kernel_old_timespec ts32;
                |                                ^~~~
          In file included from bench/futex-wake-parallel.c:31:
          bench/futex.h: In function 'futex_syscall':
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          bench/futex.h:64:33: error: invalid application of 'sizeof' to incomplete type 'struct __kernel_old_timespec'
             64 |  if (sizeof(*timeout) == sizeof(struct __kernel_old_timespec))
                |                                 ^~~~~~
          bench/futex.h:68:32: error: storage size of 'ts32' isn't known
             68 |   struct __kernel_old_timespec ts32;
                |                                ^~~~
          bench/futex.h:68:32: error: unused variable 'ts32' [-Werror=unused-variable]
          cc1: all warnings being treated as errors
          cc1: all warnings being treated as errors
          cc1: all warnings being treated as errors
          make[3]: *** [/git/perf-5.15.0/tools/build/Makefile.build:139: bench] Error 2
        79    65.92 ubuntu:20.10                  : Ok   gcc (Ubuntu 10.3.0-1ubuntu1~20.10) 10.3.0 , Ubuntu clang version 11.0.0-2
        80    65.91 ubuntu:21.04                  : Ok   gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0 , Ubuntu clang version 12.0.0-3ubuntu1~21.04.2
        81    68.12 ubuntu:21.10                  : Ok   gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0 , Ubuntu clang version 13.0.0-2
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ba4026b0
    • T
      selftests: add amt interface selftest script · c08e8bae
      Taehee Yoo 提交于
      This is selftest script for amt interface.
      This script includes basic forwarding scenarion and torture scenario.
      Signed-off-by: NTaehee Yoo <ap420073@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c08e8bae
    • P
      selftests: mptcp: more stable simult_flows tests · b6ab64b0
      Paolo Abeni 提交于
      Currently the simult_flows.sh self-tests are not very stable,
      especially when running on slow VMs.
      
      The tests measure runtime for transfers on multiple subflows
      and check that the time is near the theoretical maximum.
      
      The current test infra introduces a bit of jitter in test
      runtime, due to multiple explicit delays. Additionally the
      runtime is measured by the shell script wrapper. On a slow
      VM, the script overhead is measurable and subject to relevant
      jitter.
      
      One solution to make the test more stable would be adding more
      slack to the expected time; that could possibly hide real
      regressions. Instead move the measurement inside the command
      doing the transfer, and drop most unneeded sleeps.
      Reviewed-by: NMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: NPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: NMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b6ab64b0
    • G
      selftests: mptcp: fix proto type in link_failure tests · 7c909a98
      Geliang Tang 提交于
      In listener_ns, we should pass srv_proto argument to mptcp_connect command,
      not cl_proto.
      
      Fixes: 7d1e6f16 ("selftests: mptcp: add testcase for active-back")
      Signed-off-by: NGeliang Tang <geliang.tang@suse.com>
      Signed-off-by: NMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7c909a98
    • J
      selftests: udp: test for passing SO_MARK as cmsg · b0ced8f2
      Jakub Kicinski 提交于
      Before fix:
      |  Case IPv6 rejection returned 0, expected 1
      |FAIL - 1/4 cases failed
      
      With the fix:
      | OK
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      Reviewed-by: NDavid Ahern <dsahern@kernel.org>
      Reviewed-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0ced8f2
  5. 31 10月, 2021 5 次提交
  6. 30 10月, 2021 2 次提交
    • S
      selftests/core: fix conflicting types compile error for close_range() · f35dcaa0
      Shuah Khan 提交于
      close_range() test type conflicts with close_range() library call in
      x86_64-linux-gnu/bits/unistd_ext.h. Fix it by changing the name to
      core_close_range().
      
      gcc -g -I../../../../usr/include/    close_range_test.c  -o ../tools/testing/selftests/core/close_range_test
      In file included from close_range_test.c:16:
      close_range_test.c:57:6: error: conflicting types for ‘close_range’; have ‘void(struct __test_metadata *)’
         57 | TEST(close_range)
            |      ^~~~~~~~~~~
      ../kselftest_harness.h:181:21: note: in definition of macro ‘__TEST_IMPL’
        181 |         static void test_name(struct __test_metadata *_metadata); \
            |                     ^~~~~~~~~
      close_range_test.c:57:1: note: in expansion of macro ‘TEST’
         57 | TEST(close_range)
            | ^~~~
      In file included from /usr/include/unistd.h:1204,
                       from close_range_test.c:13:
      /usr/include/x86_64-linux-gnu/bits/unistd_ext.h:56:12: note: previous declaration of ‘close_range’ with type ‘int(unsigned int,  unsigned int,  int)’
         56 | extern int close_range (unsigned int __fd, unsigned int __max_fd,
            |            ^~~~~~~~~~~
      Signed-off-by: NShuah Khan <skhan@linuxfoundation.org>
      f35dcaa0
    • D
      kunit: tool: fix typecheck errors about loading qemu configs · 52a5d80a
      Daniel Latypov 提交于
      Currently, we have these errors:
      $ mypy ./tools/testing/kunit/*.py
      tools/testing/kunit/kunit_kernel.py:213: error: Item "_Loader" of "Optional[_Loader]" has no attribute "exec_module"
      tools/testing/kunit/kunit_kernel.py:213: error: Item "None" of "Optional[_Loader]" has no attribute "exec_module"
      tools/testing/kunit/kunit_kernel.py:214: error: Module has no attribute "QEMU_ARCH"
      tools/testing/kunit/kunit_kernel.py:215: error: Module has no attribute "QEMU_ARCH"
      
      exec_module
      ===========
      
      pytype currently reports no errors, but that's because there's a comment
      disabling it on 213.
      
      This is due to https://github.com/python/typeshed/pull/2626.
      The fix is to assert the loaded module implements the ABC
      (abstract base class) we want which has exec_module support.
      
      QEMU_ARCH
      =========
      
      pytype is fine with this, but mypy is not:
      https://github.com/python/mypy/issues/5059
      
      Add a check that the loaded module does indeed have QEMU_ARCH.
      Note: this is not enough to appease mypy, so we also add a comment to
      squash the warning.
      Signed-off-by: NDaniel Latypov <dlatypov@google.com>
      Reviewed-by: NDavid Gow <davidgow@google.com>
      Reviewed-by: NBrendan Higgins <brendanhiggins@google.com>
      Signed-off-by: NShuah Khan <skhan@linuxfoundation.org>
      52a5d80a
  7. 29 10月, 2021 3 次提交