1. 22 Jan, 2022 6 commits
    • John Garry's avatar
      perf parse-events: Support event alias in form foo-bar-baz · 864bc8c9
      John Garry authored
      Event aliasing for events whose name in the form foo-bar-baz is not
      supported, while foo-bar, foo_bar_baz, and other combinations are, i.e.
      two hyphens are not supported.
      
      The HiSilicon D06 platform has events in such form:
      
        $ ./perf list sdir-home-migrate
      
        List of pre-defined events (to be used in -e):
      
        uncore hha:
          sdir-home-migrate
         [Unit: hisi_sccl,hha]
      
        $ sudo ./perf stat -e sdir-home-migrate
        event syntax error: 'sdir-home-migrate'
                                \___ parser error
        Run 'perf list' for a list of valid events
      
         Usage: perf stat [<options>] [<command>]
      
         -e, --event <event>event selector. use 'perf list' to list available events
      
      To support, add an extra PMU event symbol type for "baz", and add a new
      rule in the bison file.
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Qi Liu <liuqi115@huawei.com>
      Cc: Shaokun Zhang <zhangshaokun@hisilicon.com>
      Cc: linuxarm@huawei.com
      Link: https://lore.kernel.org/r/1642432215-234089-2-git-send-email-john.garry@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      864bc8c9
    • German Gomez's avatar
      perf evsel: Override attr->sample_period for non-libpfm4 events · 3606c0e1
      German Gomez authored
      A previous patch preventing "attr->sample_period" values from being
      overridden in pfm events changed a related behaviour in arm-spe.
      
      Before said patch:
      
        perf record -c 10000 -e arm_spe_0// -- sleep 1
      
      Would yield an SPE event with period=10000. After the patch, the period
      in "-c 10000" was being ignored because the arm-spe code initializes
      sample_period to a non-zero value.
      
      This patch restores the previous behaviour for non-libpfm4 events.
      
      Fixes: ae5dcc8a (“perf record: Prevent override of attr->sample_period for libpfm4 events”)
      Reported-by: default avatarChase Conklin <chase.conklin@arm.com>
      Signed-off-by: default avatarGerman Gomez <german.gomez@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      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: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: bpf@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Link: http://lore.kernel.org/lkml/20220118144054.2541-1-german.gomez@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3606c0e1
    • Lv Ruyi's avatar
      perf cpumap: Remove duplicate include in cpumap.h · 24ead7c2
      Lv Ruyi authored
      Remove all but the first include of stdbool.h from cpumap.h.
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Signed-off-by: default avatarLv Ruyi <lv.ruyi@zte.com.cn>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Clark <james.clark@arm.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/20220117083730.863200-1-lv.ruyi@zte.com.cnSigned-off-by: default avatarCGEL ZTE <cgel.zte@gmail.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      24ead7c2
    • Ian Rogers's avatar
      perf cpumap: Migrate to libperf cpumap api · 44028699
      Ian Rogers authored
      Switch from directly accessing the perf_cpu_map to using the appropriate
      libperf API when possible. Using the API simplifies the job of
      refactoring use of perf_cpu_map.
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: André Almeida <andrealmeid@collabora.com>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Darren Hart <dvhart@infradead.org>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Dmitriy Vyukov <dvyukov@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Miaoqian Lin <linmq006@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Shunsuke Nakamura <nakamura.shun@fujitsu.com>
      Cc: Song Liu <song@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
      Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Thomas Richter <tmricht@linux.ibm.com>
      Cc: Yury Norov <yury.norov@gmail.com>
      Link: http://lore.kernel.org/lkml/20220122045811.3402706-3-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      44028699
    • Ian Rogers's avatar
      perf python: Fix cpu_map__item() building · 1d1d9af2
      Ian Rogers authored
      Value should be built as an integer.
      
      Switch some uses of perf_cpu_map to use the library API.
      
      Fixes: 6d18804b ("perf cpumap: Give CPUs their own type")
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: André Almeida <andrealmeid@collabora.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Darren Hart <dvhart@infradead.org>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Dmitriy Vyukov <dvyukov@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Miaoqian Lin <linmq006@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Shunsuke Nakamura <nakamura.shun@fujitsu.com>
      Cc: Song Liu <song@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
      Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Thomas Richter <tmricht@linux.ibm.com>
      Cc: Yury Norov <yury.norov@gmail.com>
      Link: http://lore.kernel.org/lkml/20220122045811.3402706-2-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1d1d9af2
    • Yao Jin's avatar
      perf script: Fix printing 'phys_addr' failure issue · 9edcde68
      Yao Jin authored
      Perf script was failed to print the phys_addr for SPE profiling.
      One 'dummy' event is added by SPE profiling but it doesn't have PHYS_ADDR
      attribute set, perf script then exits with error.
      
      Now referring to 'addr', use evsel__do_check_stype() to check the type.
      
      Before:
      
        # perf record -e arm_spe_0/branch_filter=0,ts_enable=1,pa_enable=1,load_filter=1,jitter=0,\
      		store_filter=0,min_latency=0,event_filter=2/ -p 4064384 -- sleep 3
        # perf script -F pid,tid,addr,phys_addr
        Samples for 'dummy:u' event do not have PHYS_ADDR attribute set. Cannot print 'phys_addr' field.
      
      After:
      
        # perf record -e arm_spe_0/branch_filter=0,ts_enable=1,pa_enable=1,load_filter=1,jitter=0,\
      		store_filter=0,min_latency=0,event_filter=2/ -p 4064384 -- sleep 3
        # perf script -F pid,tid,addr,phys_addr
        4064384/4064384 ffff802f921be0d0      2f921be0d0
        4064384/4064384 ffff802f921be0d0      2f921be0d0
      Reviewed-by: default avatarGerman Gomez <german.gomez@arm.com>
      Signed-off-by: default avatarYao Jin <jinyao5@huawei.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hanjun Guo <guohanjun@huawei.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20220121065954.2121900-1-liwei391@huawei.comSigned-off-by: default avatarWei Li <liwei391@huawei.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9edcde68
  2. 20 Jan, 2022 1 commit
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync files changed by new set_mempolicy_home_node syscall · 6e10e219
      Arnaldo Carvalho de Melo authored
      To pick the changes in these csets:
      
        21b084fd ("mm/mempolicy: wire up syscall set_mempolicy_home_node")
      
      That add support for this new syscall in tools such as 'perf trace'.
      
      For instance, this is now possible:
      
        [root@five ~]# perf trace -e set_mempolicy_home_node
        ^C[root@five ~]#
        [root@five ~]# perf trace -v -e set_mempolicy_home_node
        Using CPUID AuthenticAMD-25-21-0
        event qualifier tracepoint filter: (common_pid != 253729 && common_pid != 3585) && (id == 450)
        mmap size 528384B
        ^C[root@five ~]
        [root@five ~]# perf trace -v -e set*  --max-events 5
        Using CPUID AuthenticAMD-25-21-0
        event qualifier tracepoint filter: (common_pid != 253734 && common_pid != 3585) && (id == 38 || id == 54 || id == 105 || id == 106 || id == 109 || id == 112 || id == 113 || id == 114 || id == 116 || id == 117 || id == 119 || id == 122 || id == 123 || id == 141 || id == 160 || id == 164 || id == 170 || id == 171 || id == 188 || id == 205 || id == 218 || id == 238 || id == 273 || id == 308 || id == 450)
        mmap size 528384B
             0.000 ( 0.008 ms): bash/253735 setpgid(pid: 253735 (bash), pgid: 253735 (bash))      = 0
          6849.011 ( 0.008 ms): bash/16046 setpgid(pid: 253736 (bash), pgid: 253736 (bash))       = 0
          6849.080 ( 0.005 ms): bash/253736 setpgid(pid: 253736 (bash), pgid: 253736 (bash))      = 0
          7437.718 ( 0.009 ms): gnome-shell/253737 set_robust_list(head: 0x7f34b527e920, len: 24) = 0
         13445.986 ( 0.010 ms): bash/16046 setpgid(pid: 253738 (bash), pgid: 253738 (bash))       = 0
        [root@five ~]#
      
      That is the filter expression attached to the raw_syscalls:sys_{enter,exit}
      tracepoints.
      
        $ find tools/perf/arch/ -name "syscall*tbl" | xargs grep -w set_mempolicy_home_node
        tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl:450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
        tools/perf/arch/powerpc/entry/syscalls/syscall.tbl:450 	nospu	set_mempolicy_home_node		sys_set_mempolicy_home_node
        tools/perf/arch/s390/entry/syscalls/syscall.tbl:450  common	set_mempolicy_home_node	sys_set_mempolicy_home_node	sys_set_mempolicy_home_node
        tools/perf/arch/x86/entry/syscalls/syscall_64.tbl:450	common	set_mempolicy_home_node	sys_set_mempolicy_home_node
        $
      
        $ grep -w set_mempolicy_home_node /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c
      	[450] = "set_mempolicy_home_node",
        $
      
      This addresses these perf build warnings:
      
        Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/unistd.h' differs from latest version at 'include/uapi/asm-generic/unistd.h'
        diff -u tools/include/uapi/asm-generic/unistd.h include/uapi/asm-generic/unistd.h
        Warning: Kernel ABI header at 'tools/perf/arch/x86/entry/syscalls/syscall_64.tbl' differs from latest version at 'arch/x86/entry/syscalls/syscall_64.tbl'
        diff -u tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl
        Warning: Kernel ABI header at 'tools/perf/arch/powerpc/entry/syscalls/syscall.tbl' differs from latest version at 'arch/powerpc/kernel/syscalls/syscall.tbl'
        diff -u tools/perf/arch/powerpc/entry/syscalls/syscall.tbl arch/powerpc/kernel/syscalls/syscall.tbl
        Warning: Kernel ABI header at 'tools/perf/arch/s390/entry/syscalls/syscall.tbl' differs from latest version at 'arch/s390/kernel/syscalls/syscall.tbl'
        diff -u tools/perf/arch/s390/entry/syscalls/syscall.tbl arch/s390/kernel/syscalls/syscall.tbl
        Warning: Kernel ABI header at 'tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl' differs from latest version at 'arch/mips/kernel/syscalls/syscall_n64.tbl'
        diff -u tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl arch/mips/kernel/syscalls/syscall_n64.tbl
      
      Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6e10e219
  3. 19 Jan, 2022 2 commits
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync x86 arch prctl headers with the kernel sources · 8326c79d
      Arnaldo Carvalho de Melo authored
      To pick the changes in this cset:
      
        980fe2fd ("x86/fpu: Extend fpu_xstate_prctl() with guest permissions")
      
      This picks these new prctls:
      
        $ tools/perf/trace/beauty/x86_arch_prctl.sh > /tmp/before
        $ cp arch/x86/include/uapi/asm/prctl.h tools/arch/x86/include/uapi/asm/prctl.h
        $ tools/perf/trace/beauty/x86_arch_prctl.sh > /tmp/after
        $ diff -u /tmp/before /tmp/after
        --- /tmp/before	2022-01-19 14:40:05.049394977 -0300
        +++ /tmp/after	2022-01-19 14:40:35.628154565 -0300
        @@ -9,6 +9,8 @@
         	[0x1021 - 0x1001]= "GET_XCOMP_SUPP",
         	[0x1022 - 0x1001]= "GET_XCOMP_PERM",
         	[0x1023 - 0x1001]= "REQ_XCOMP_PERM",
        +	[0x1024 - 0x1001]= "GET_XCOMP_GUEST_PERM",
        +	[0x1025 - 0x1001]= "REQ_XCOMP_GUEST_PERM",
         };
      
         #define x86_arch_prctl_codes_2_offset 0x2001
        $
      
      With this 'perf trace' can translate those numbers into strings and use
      the strings in filter expressions:
      
        # perf trace -e prctl
             0.000 ( 0.011 ms): DOM Worker/3722622 prctl(option: SET_NAME, arg2: 0x7f9c014b7df5)     = 0
             0.032 ( 0.002 ms): DOM Worker/3722622 prctl(option: SET_NAME, arg2: 0x7f9bb6b51580)     = 0
             5.452 ( 0.003 ms): StreamT~ns #30/3722623 prctl(option: SET_NAME, arg2: 0x7f9bdbdfeb70) = 0
             5.468 ( 0.002 ms): StreamT~ns #30/3722623 prctl(option: SET_NAME, arg2: 0x7f9bdbdfea70) = 0
            24.494 ( 0.009 ms): IndexedDB #556/3722624 prctl(option: SET_NAME, arg2: 0x7f562a32ae28) = 0
            24.540 ( 0.002 ms): IndexedDB #556/3722624 prctl(option: SET_NAME, arg2: 0x7f563c6d4b30) = 0
           670.281 ( 0.008 ms): systemd-userwo/3722339 prctl(option: SET_NAME, arg2: 0x564be30805c8) = 0
           670.293 ( 0.002 ms): systemd-userwo/3722339 prctl(option: SET_NAME, arg2: 0x564be30800f0) = 0
        ^C#
      
      This addresses these perf build warnings:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/prctl.h' differs from latest version at 'arch/x86/include/uapi/asm/prctl.h'
        diff -u tools/arch/x86/include/uapi/asm/prctl.h arch/x86/include/uapi/asm/prctl.h
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8326c79d
    • Arnaldo Carvalho de Melo's avatar
      perf machine: Use path__join() to compose a path instead of snprintf(dir, '/', filename) · 9d5f0c36
      Arnaldo Carvalho de Melo authored
      Its more intention revealing, and if we're interested in the odd cases
      where this may end up truncating we can do debug checks at one
      centralized place.
      
      Motivation, of all the container builds, fedora rawhide started
      complaining of:
      
        util/machine.c: In function ‘machine__create_modules’:
        util/machine.c:1419:50: error: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4095 [-Werror=format-truncation=]
         1419 |                 snprintf(path, sizeof(path), "%s/%s", dir_name, dent->d_name);
              |                                                  ^~
        In file included from /usr/include/stdio.h:894,
                         from util/branch.h:9,
                         from util/callchain.h:8,
                         from util/machine.c:7:
        In function ‘snprintf’,
            inlined from ‘maps__set_modules_path_dir’ at util/machine.c:1419:3,
            inlined from ‘machine__set_modules_path’ at util/machine.c:1473:9,
            inlined from ‘machine__create_modules’ at util/machine.c:1519:7:
        /usr/include/bits/stdio2.h:71:10: note: ‘__builtin___snprintf_chk’ output between 2 and 4352 bytes into a destination of size 4096
      
      There are other places where we should use path__join(), but lets get rid of
      this one first.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Link: Link: https://lore.kernel.org/r/YebZKjwgfdOz0lAs@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9d5f0c36
  4. 18 Jan, 2022 17 commits
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: No need to setup affinities when disabling events for pid targets · 0d3d2376
      Arnaldo Carvalho de Melo authored
      When the target is a pid, not started by 'perf stat' we need to disable
      the events, and in that case there is no need to setup affinities as we
      use a dummy CPU map, with just one entry set to -1.
      
      So stop doing it to avoid this needless call to sched_getaffinity():
      
        # strace -ke sched_getaffinity perf stat -e cycles -p 241957 sleep 1
        <SNIP>
        sched_getaffinity(0, 512, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]) = 8
         > /usr/lib64/libc-2.33.so(sched_getaffinity@@GLIBC_2.3.4+0x1a) [0xe6eea]
         > /var/home/acme/bin/perf(affinity__setup+0x6a) [0x532a2a]
         > /var/home/acme/bin/perf(__evlist__disable.constprop.0+0x27) [0x4b9827]
         > /var/home/acme/bin/perf(cmd_stat+0x29b5) [0x431725]
         > /var/home/acme/bin/perf(run_builtin+0x6a) [0x4a2cfa]
         > /var/home/acme/bin/perf(main+0x612) [0x40f8c2]
         > /usr/lib64/libc-2.33.so(__libc_start_main+0xd4) [0x27b74]
         > /var/home/acme/bin/perf(_start+0x2d) [0x40fadd]
        <SNIP>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20220117160931.1191712-5-acme@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0d3d2376
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: No need to setup affinities when enabling events for pid targets · f350ee95
      Arnaldo Carvalho de Melo authored
      When the target is a pid, not started by 'perf stat' we need to enable
      the events, and in that case there is no need to setup affinities as we
      use a dummy CPU map, with just one entry set to -1.
      
      So stop doing it to avoid this needless call to sched_getaffinity():
      
        # strace -ke sched_getaffinity perf stat -e cycles -p 241957 sleep 1
        <SNIP>
        sched_getaffinity(0, 512, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]) = 8
         > /usr/lib64/libc-2.33.so(sched_getaffinity@@GLIBC_2.3.4+0x1a) [0xe6eea]
         > /var/home/acme/bin/perf(affinity__setup+0x6a) [0x5329ca]
         > /var/home/acme/bin/perf(__evlist__enable.constprop.0+0x23) [0x4b9693]
         > /var/home/acme/bin/perf(enable_counters+0x14d) [0x42de5d]
         > /var/home/acme/bin/perf(cmd_stat+0x2358) [0x4310c8]
         > /var/home/acme/bin/perf(run_builtin+0x6a) [0x4a2cfa]
         > /var/home/acme/bin/perf(main+0x612) [0x40f8c2]
         > /usr/lib64/libc-2.33.so(__libc_start_main+0xd4) [0x27b74]
         > /var/home/acme/bin/perf(_start+0x2d) [0x40fadd]
        <SNIP>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20220117160931.1191712-4-acme@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f350ee95
    • Arnaldo Carvalho de Melo's avatar
      perf stat: No need to setup affinities when starting a workload · 49de1795
      Arnaldo Carvalho de Melo authored
      I.e. the simple:
      
        $ perf stat sleep 1
      
      Uses a dummy CPU map and thus there is no need to setup/cleanup
      affinities to avoid IPIs, etc.
      
      With this we're down to a sched_getaffinity() call, in the libnuma
      initialization, that probably can be removed in a followup patch.
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20220117160931.1191712-3-acme@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      49de1795
    • Arnaldo Carvalho de Melo's avatar
      perf affinity: Allow passing a NULL arg to affinity__cleanup() · 1855b796
      Arnaldo Carvalho de Melo authored
      Just like with free(), NULL is checked to avoid having all callers do
      it.
      
      Its convenient for when not using affinity setup/cleanup for dummy CPU
      maps, i.e. CPU maps for pid targets.
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20220117160931.1191712-2-acme@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1855b796
    • Zechuan Chen's avatar
      perf probe: Fix ppc64 'perf probe add events failed' case · 4624f199
      Zechuan Chen authored
      Because of commit bf794bf5 ("powerpc/kprobes: Fix kallsyms
      lookup across powerpc ABIv1 and ABIv2"), in ppc64 ABIv1, our perf
      command eliminates the need to use the prefix "." at the symbol name.
      
      But when the command "perf probe -a schedule" is executed on ppc64
      ABIv1, it obtains two symbol address information through /proc/kallsyms,
      for example:
      
        cat /proc/kallsyms | grep -w schedule
        c000000000657020 T .schedule
        c000000000d4fdb8 D schedule
      
      The symbol "D schedule" is not a function symbol, and perf will print:
      "p:probe/schedule _text+13958584"Failed to write event: Invalid argument
      
      Therefore, when searching symbols from map and adding probe point for
      them, a symbol type check is added. If the type of symbol is not a
      function, skip it.
      
      Fixes: bf794bf5 ("powerpc/kprobes: Fix kallsyms lookup across powerpc ABIv1 and ABIv2")
      Signed-off-by: default avatarZechuan Chen <chenzechuan1@huawei.com>
      Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jianlin Lv <Jianlin.Lv@arm.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
      Cc: Yang Jihong <yangjihong1@huawei.com>
      Link: https://lore.kernel.org/r/20211228111338.218602-1-chenzechuan1@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4624f199
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 99613159
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "A bunch of new support and few updates to drivers:
      
        New support:
         - DMA_MEMCPY_SG support is bought back as we have a user in Xilinx
           driver
         - Support for TI J721S2 SoC in k3-udma driver
         - Support for Ingenic MDMA and BDMA in the JZ4760
         - Support for Renesas r8a779f0 dmac
      
        Updates:
         - We are finally getting rid of slave_id, so this brings in the
           changes across tree for that
         - updates for idxd driver
         - at_xdmac driver cleanup"
      
      * tag 'dmaengine-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (60 commits)
        dt-bindings: dma-controller: Split interrupt fields in example
        dmaengine: pch_dma: Remove usage of the deprecated "pci-dma-compat.h" API
        dmaengine: at_xdmac: Fix race over irq_status
        dmaengine: at_xdmac: Remove a level of indentation in at_xdmac_tasklet()
        dmaengine: at_xdmac: Fix at_xdmac_lld struct definition
        dmaengine: at_xdmac: Fix lld view setting
        dmaengine: at_xdmac: Remove a level of indentation in at_xdmac_advance_work()
        dmaengine: at_xdmac: Fix concurrency over xfers_list
        dmaengine: at_xdmac: Move the free desc to the tail of the desc list
        dmaengine: at_xdmac: Fix race for the tx desc callback
        dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie
        dmaengine: at_xdmac: Print debug message after realeasing the lock
        dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending
        dmaengine: at_xdmac: Don't start transactions at tx_submit level
        dmaengine: idxd: deprecate token sysfs attributes for read buffers
        dmaengine: idxd: change bandwidth token to read buffers
        dmaengine: idxd: fix wq settings post wq disable
        dmaengine: idxd: change MSIX allocation based on per wq activation
        dmaengine: idxd: fix descriptor flushing locking
        dmaengine: idxd: embed irq_entry in idxd_wq struct
        ...
      99613159
    • Linus Torvalds's avatar
      Merge tag 'ata-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · fe81ba13
      Linus Torvalds authored
      Pull ATA updates from Damien Le Moal:
       "A larger than usual set of changes for this cycle. The bulk of the
        changes are part of a rework of libata messages and debugging features
        from Hannes. In more detail, the changes are as follows.
      
         - Small code cleanups in the pata_ali driver (unnecessary variable
           initialization and simplified return statement, from Jason and
           Colin.
      
         - Switch to using struct_group() in the sata_fsl driver, from Kees.
      
         - Convert many sysfs attribute show functions to use sysfs_emit()
           instead of snprintf(), from me.
      
         - sata_dwc_460ex driver code cleanups, from Andy.
      
         - Improve DMA setup and remove superfluous error message in
           libahci_platform, from Andy
      
         - A small code cleanup in libata to use min() instead of open coding
           test, from Changcheng.
      
         - Rework of libata messages from Hannes. This is especially focused
           on replacing compile time defined debugging messages (DPRINTK() and
           VPRINTK()) with regular dynamic debugging messages (pr_debug()) and
           traceipoint events. Both libata-core and many drivers are updated
           to have a consistent debugging level control for all drivers.
      
         - Extend compile test support to as many drivers as possible in ATA
           Kconfig to improve compile test coverage, from me.
      
         - Fixes to avoid compile time warnings (W=1) and sparse warnings in
           sata_fsl and ahci_xgene drivers, from me.
      
         - Fix the interface of the read_id() port operation method to clarify
           that the data buffer passed as an argument is little endian. This
           avoids sparse warnings in the pata_netcell, pata_it821x,
           ahci_xgene, ahci_cevaxi and ahci_brcm drivers. From me.
      
         - Small code cleanup in the pata_octeon_cf driver, from Minghao.
      
         - Improved IRQ configuration code in pata_of_platform, from Lad.
      
         - Simplified implementation of __ata_scsi_queuecmd(), from Wenchao.
      
         - Debounce delay flag renaming, from Paul.
      
         - Add support for AMD A85 FCH (Hudson D4) AHCI adapters, from Paul"
      
      * tag 'ata-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (106 commits)
        ata: pata_ali: remove redundant return statement
        ata: ahci: Add support for AMD A85 FCH (Hudson D4)
        ata: libata: Rename link flag ATA_LFLAG_NO_DB_DELAY
        ata: libata-scsi: simplify __ata_scsi_queuecmd()
        ata: pata_of_platform: Use platform_get_irq_optional() to get the interrupt
        ata: pata_samsung_cf: add compile test support
        ata: pata_pxa: add compile test support
        ata: pata_imx: add compile test support
        ata: pata_ftide010: add compile test support
        ata: pata_cs5535: add compile test support
        ata: pata_octeon_cf: remove redundant val variable
        ata: fix read_id() ata port operation interface
        ata: ahci_xgene: use correct type for port mmio address
        ata: sata_fsl: fix cmdhdr_tbl_entry and prde struct definitions
        ata: sata_fsl: fix scsi host initialization
        ata: pata_bk3710: add compile test support
        ata: ahci_seattle: add compile test support
        ata: ahci_xgene: add compile test support
        ata: ahci_tegra: add compile test support
        ata: ahci_sunxi: add compile test support
        ...
      fe81ba13
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 3bf6a9e3
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "virtio,vdpa,qemu_fw_cfg: features, cleanups, and fixes.
      
         - partial support for < MAX_ORDER - 1 granularity for virtio-mem
      
         - driver_override for vdpa
      
         - sysfs ABI documentation for vdpa
      
         - multiqueue config support for mlx5 vdpa
      
         - and misc fixes, cleanups"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (42 commits)
        vdpa/mlx5: Fix tracking of current number of VQs
        vdpa/mlx5: Fix is_index_valid() to refer to features
        vdpa: Protect vdpa reset with cf_mutex
        vdpa: Avoid taking cf_mutex lock on get status
        vdpa/vdpa_sim_net: Report max device capabilities
        vdpa: Use BIT_ULL for bit operations
        vdpa/vdpa_sim: Configure max supported virtqueues
        vdpa/mlx5: Report max device capabilities
        vdpa: Support reporting max device capabilities
        vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps()
        vdpa: Add support for returning device configuration information
        vdpa/mlx5: Support configuring max data virtqueue
        vdpa/mlx5: Fix config_attr_mask assignment
        vdpa: Allow to configure max data virtqueues
        vdpa: Read device configuration only if FEATURES_OK
        vdpa: Sync calls set/get config/status with cf_mutex
        vdpa/mlx5: Distribute RX virtqueues in RQT object
        vdpa: Provide interface to read driver features
        vdpa: clean up get_config_size ret value handling
        virtio_ring: mark ring unused on error
        ...
      3bf6a9e3
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 46a10fc3
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This introduces support for controlling the Cortex R7 co-processor in
        Renesas Gen3, support for R5F clusters and C71x DSPs on TI J721S2 and
        compute, audio and modem subsystems on Qualcomm SM6350.
      
        It fixes a couple of sparse errors related to memcpy_to/fromio and
        corrects the kerneldoc spelling of "Return:".
      
        The stm32 driver no longer attempts to communicate with the remote
        after the firmware has crashed"
      
      * tag 'rproc-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (22 commits)
        remoteproc: stm32: Improve crash recovery time
        remoteproc: rcar_rproc: Remove trailing semicolon
        remoteproc: rcar_rproc: Fix pm_runtime_get_sync error check
        remoteproc: qcom: pas: Add SM6350 CDSP support
        remoteproc: qcom: pas: Add SM6350 ADSP support
        remoteproc: qcom: pas: Add SM6350 MPSS support
        dt-bindings: remoteproc: qcom: pas: Add SM6350 adsp, cdsp & mpss
        remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP
        remoteproc: imx_rproc: correct firmware reload
        remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided
        remoteproc: Add Renesas rcar driver
        dt-bindings: remoteproc: Add Renesas R-Car
        remoteproc: Fix remaining wrong return formatting in documentation
        MAINTAINERS: Removing Ohad from remoteproc/rpmsg maintenance
        remoteproc: ingenic: Request IRQ disabled
        remoteproc: k3-r5: Extend support for R5F clusters on J721S2 SoCs
        remoteproc: k3-dsp: Extend support for C71x DSPs on J721S2 SoCs
        dt-bindings: remoteproc: k3-dsp: Update bindings for J721S2 SoCs
        dt-bindings: remoteproc: k3-r5f: Update bindings for J721S2 SoCs
        remoteproc: coredump: Correct argument 2 type for memcpy_fromio
        ...
      46a10fc3
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · fc9d6952
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This adds pr_fmt for the rpmsg_char driver, fixes error handling in
        rpmsg_dev_probe() and corrects the spelling of "Return:" in various
        places, in order to fix kerneldoc"
      
      * tag 'rpmsg-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        rpmsg: core: Clean up resources on announce_create failure.
        rpmsg: Fix documentation return formatting
        rpmsg: char: Add pr_fmt() to prefix messages
      fc9d6952
    • Jamie Hill-Daniel's avatar
      vfs: fs_context: fix up param length parsing in legacy_parse_param · 722d9484
      Jamie Hill-Daniel authored
      The "PAGE_SIZE - 2 - size" calculation in legacy_parse_param() is an
      unsigned type so a large value of "size" results in a high positive
      value instead of a negative value as expected.  Fix this by getting rid
      of the subtraction.
      Signed-off-by: default avatarJamie Hill-Daniel <jamie@hill-daniel.co.uk>
      Signed-off-by: default avatarWilliam Liu <willsroot@protonmail.com>
      Tested-by: default avatarSalvatore Bonaccorso <carnil@debian.org>
      Tested-by: default avatarThadeu Lima de Souza Cascardo <cascardo@canonical.com>
      Acked-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Acked-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      722d9484
    • Linus Torvalds's avatar
      Merge tag 'pm-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8357f6fb
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "This is a continuation of the rework of device power management macros
        used for declaring device power management callbacks (Paul Cercueil)"
      
      * tag 'pm-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        iio: pressure: bmp280: Use new PM macros
        PM: runtime: Add EXPORT[_GPL]_RUNTIME_DEV_PM_OPS macros
        PM: runtime: Add DEFINE_RUNTIME_DEV_PM_OPS() macro
        PM: core: Add EXPORT[_GPL]_SIMPLE_DEV_PM_OPS macros
        PM: core: Remove static qualifier in DEFINE_SIMPLE_DEV_PM_OPS macro
        PM: core: Remove DEFINE_UNIVERSAL_DEV_PM_OPS() macro
      8357f6fb
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6a8d7fbf
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "The most significant item here is the Platform Firmware Runtime Update
        and Telemetry (PFRUT) support designed to allow certain pieces of the
        platform firmware to be updated on the fly, among other things.
      
        Also important is the e820 handling change on x86 that should work
        around PCI BAR allocation issues on some systems shipping since 2019.
      
        The rest is just a handful of assorted fixes and cleanups on top of
        the ACPI material merged previously.
      
        Specifics:
      
         - Add support for the the Platform Firmware Runtime Update and
           Telemetry (PFRUT) interface based on ACPI to allow certain pieces
           of the platform firmware to be updated without restarting the
           system and to provide a mechanism for collecting platform firmware
           telemetry data (Chen Yu, Dan Carpenter, Yang Yingliang).
      
         - Ignore E820 reservations covering PCI host bridge windows on
           sufficiently recent x86 systems to avoid issues with allocating PCI
           BARs on systems where the E820 reservations cover the entire PCI
           host bridge memory window returned by the _CRS object in the
           system's ACPI tables (Hans de Goede).
      
         - Fix and clean up acpi_scan_init() (Rafael Wysocki).
      
         - Add more sanity checking to ACPI SPCR tables parsing (Mark
           Langsdorf).
      
         - Fix up ACPI APD (AMD Soc) driver initialization (Jiasheng Jiang).
      
         - Drop unnecessary "static" from the ACPI PCC address space handling
           driver added recently (kernel test robot)"
      
      * tag 'acpi-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: PCC: pcc_ctx can be static
        ACPI: scan: Rename label in acpi_scan_init()
        ACPI: scan: Simplify initialization of power and sleep buttons
        ACPI: scan: Change acpi_scan_init() return value type to void
        ACPI: SPCR: check if table->serial_port.access_width is too wide
        ACPI: APD: Check for NULL pointer after calling devm_ioremap()
        x86/PCI: Ignore E820 reservations for bridge windows on newer systems
        ACPI: pfr_telemetry: Fix info leak in pfrt_log_ioctl()
        ACPI: pfr_update: Fix return value check in pfru_write()
        ACPI: tools: Introduce utility for firmware updates/telemetry
        ACPI: Introduce Platform Firmware Runtime Telemetry driver
        ACPI: Introduce Platform Firmware Runtime Update device driver
        efi: Introduce EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER and corresponding structures
      6a8d7fbf
    • Linus Torvalds's avatar
      Merge tag 'slab-for-5.17-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · e3a8b6a1
      Linus Torvalds authored
      Pull more slab updates from Vlastimil Babka:
       "Finish the conversion to struct slab by removing slab-specific fields
        from struct page.
      
        The first slab update (see merge commit ca1a46d6) did most of the
        conversion, but there was also series in iommu tree removing the
        iommu's usage of struct page 'freelist' field, blocking the final
        struct page cleanup.
      
        Now that the iommu changes have been merged, we can finish the job"
      
      * tag 'slab-for-5.17-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        mm: Remove slab from struct page
      e3a8b6a1
    • Linus Torvalds's avatar
      Merge tag 'arc-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 62b48887
      Linus Torvalds authored
      Pull ARC fixes from Vineet Gupta:
       "Nothing too exciting for now"
      
      * tag 'arc-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        arc: use swap() to make code cleaner
        arc: perf: Move static structs to where they're really used
        ARC: perf: fix misleading comment about pmu vs counter stop
        arc: Replace lkml.org links with lore
        ARC: perf: Remove redundant initialization of variable idx
        ARC: thread_info.h: correct two typos in a comment
      62b48887
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.17-2022-01-16' of... · 57d17378
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.17-2022-01-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tool updates from Arnaldo Carvalho de Melo:
       "New features:
      
         - Add 'trace' subcommand for 'perf ftrace', setting the stage for
           more 'perf ftrace' subcommands. Not using a subcommand yields the
           previous behaviour of 'perf ftrace'.
      
         - Add 'latency' subcommand to 'perf ftrace', that can use the
           function graph tracer or a BPF optimized one, via the -b/--use-bpf
           option.
      
           E.g.:
      
      	$ sudo perf ftrace latency -a -T mutex_lock sleep 1
      	#   DURATION     |      COUNT | GRAPH                          |
      	     0 - 1    us |       4596 | ########################       |
      	     1 - 2    us |       1680 | #########                      |
      	     2 - 4    us |       1106 | #####                          |
      	     4 - 8    us |        546 | ##                             |
      	     8 - 16   us |        562 | ###                            |
      	    16 - 32   us |          1 |                                |
      	    32 - 64   us |          0 |                                |
      	    64 - 128  us |          0 |                                |
      	   128 - 256  us |          0 |                                |
      	   256 - 512  us |          0 |                                |
      	   512 - 1024 us |          0 |                                |
      	     1 - 2    ms |          0 |                                |
      	     2 - 4    ms |          0 |                                |
      	     4 - 8    ms |          0 |                                |
      	     8 - 16   ms |          0 |                                |
      	    16 - 32   ms |          0 |                                |
      	    32 - 64   ms |          0 |                                |
      	    64 - 128  ms |          0 |                                |
      	   128 - 256  ms |          0 |                                |
      	   256 - 512  ms |          0 |                                |
      	   512 - 1024 ms |          0 |                                |
      	     1 - ...   s |          0 |                                |
      
           The original implementation of this command was in the bcc tool.
      
         - Support --cputype option for hybrid events in 'perf stat'.
      
        Improvements:
      
         - Call chain improvements for ARM64.
      
         - No need to do any affinity setup when profiling pids.
      
         - Reduce multiplexing with duration_time in 'perf stat' metrics.
      
         - Improve error message for uncore events, stating that some event
           groups are can only be used in system wide (-a) mode.
      
         - perf stat metric group leader fixes/improvements, including arch
           specific changes to better support Intel topdown events.
      
         - Probe non-deprecated sysfs path first, i.e. try the path
           /sys/devices/system/cpu/cpuN/topology/thread_siblings first, then
           the old /sys/devices/system/cpu/cpuN/topology/core_cpus.
      
         - Disable debuginfod by default in 'perf record', to avoid stalls on
           distros such as Fedora 35.
      
         - Use unbuffered output in 'perf bench' when pipe/tee'ing to a file.
      
         - Enable ignore_missing_thread in 'perf trace'
      
        Fixes:
      
         - Avoid TUI crash when navigating in the annotation of recursive
           functions.
      
         - Fix hex dump character output in 'perf script'.
      
         - Fix JSON indentation to 4 spaces standard in the ARM vendor event
           files.
      
         - Fix use after free in metric__new().
      
         - Fix IS_ERR_OR_NULL() usage in the perf BPF loader.
      
         - Fix up cross-arch register support, i.e. when printing register
           names take into account the architecture where the perf.data file
           was collected.
      
         - Fix SMT fallback with large core counts.
      
         - Don't lower case MetricExpr when parsing JSON files so as not to
           lose info such as the ":G" event modifier in metrics.
      
        perf test:
      
         - Add basic stress test for sigtrap handling to 'perf test'.
      
         - Fix 'perf test' failures on s/390
      
         - Enable system wide for metricgroups test in 'perf test´.
      
         - Use 3 digits for test numbering now we can have more tests.
      
        Arch specific:
      
         - Add events for Arm Neoverse N2 in the ARM JSON vendor event files
      
         - Support PERF_MEM_LVLNUM encodings in powerpc, that came from a
           single patch series, where I incorrectly merged the kernel bits,
           that were then reverted after coordination with Michael Ellerman
           and Stephen Rothwell.
      
         - Add ARM SPE total latency as PERF_SAMPLE_WEIGHT.
      
         - Update AMD documentation, with info on raw event encoding.
      
         - Add support for global and local variants of the "p_stage_cyc" sort
           key, applicable to perf.data files collected on powerpc.
      
         - Remove duplicate and incorrect aux size checks in the ARM CoreSight
           ETM code.
      
        Refactorings:
      
         - Add a perf_cpu abstraction to disambiguate CPUs and CPU map
           indexes, fixing problems along the way.
      
         - Document CPU map methods.
      
        UAPI sync:
      
         - Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench
           mem memcpy'
      
         - Sync UAPI files with the kernel sources: drm, msr-index,
           cpufeatures.
      
        Build system
      
         - Enable warnings through HOSTCFLAGS.
      
         - Drop requirement for libstdc++.so for libopencsd check
      
        libperf:
      
         - Make libperf adopt perf_counts_values__scale() from tools/perf/util/.
      
         - Add a stat multiplexing test to libperf"
      
      * tag 'perf-tools-for-v5.17-2022-01-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (115 commits)
        perf record: Disable debuginfod by default
        perf evlist: No need to do any affinity setup when profiling pids
        perf cpumap: Add is_dummy() method
        perf metric: Fix metric_leader
        perf cputopo: Fix CPU topology reading on s/390
        perf metricgroup: Fix use after free in metric__new()
        libperf tests: Update a use of the new cpumap API
        perf arm: Fix off-by-one directory path
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        tools headers cpufeatures: Sync with the kernel sources
        tools headers UAPI: Update tools's copy of drm.h header
        tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy'
        perf pmu-events: Don't lower case MetricExpr
        perf expr: Add debug logging for literals
        perf tools: Probe non-deprecated sysfs path 1st
        perf tools: Fix SMT fallback with large core counts
        perf cpumap: Give CPUs their own type
        perf stat: Correct first_shadow_cpu to return index
        perf script: Fix flipped index and cpu
        perf c2c: Use more intention revealing iterator
        ...
      57d17378
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.17-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · f0033681
      Linus Torvalds authored
      Pull orangefs fixes from Mike Marshall:
       "Two fixes:
      
         - Fix the size of a memory allocation in orangefs_bufmap_alloc()
           (Christophe JAILLET)
      
         - Use default_groups in kobj_type (Greg KH)"
      
      * tag 'for-linus-5.17-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc()
        orangefs: use default_groups in kobj_type
      f0033681
  5. 17 Jan, 2022 14 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-pfrut' · e3daa260
      Rafael J. Wysocki authored
      Merge support for the Platform Firmware Runtime Update and Telemetry
      interface based on ACPI.
      
      The interface provided here allows updating certain pieces of the
      platform firmware without restarting the system and collecting
      platform firmware telemetry data.
      
      This also includes a utility for accesing the new interface from user
      space.
      
      * acpi-pfrut:
        ACPI: pfr_telemetry: Fix info leak in pfrt_log_ioctl()
        ACPI: pfr_update: Fix return value check in pfru_write()
        ACPI: tools: Introduce utility for firmware updates/telemetry
        ACPI: Introduce Platform Firmware Runtime Telemetry driver
        ACPI: Introduce Platform Firmware Runtime Update device driver
        efi: Introduce EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER and corresponding structures
      e3daa260
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-x86', 'acpi-tables', 'acpi-soc' and 'acpi-pcc' · ebf8b135
      Rafael J. Wysocki authored
      Merge additional ACPI-related updates for 5.17-rc1:
      
       - Ignore E820 reservations covering PCI host bridge windows on
         sufficiently recent x86 systems to avoid issues with allocating
         PCI BARs on systems where the E820 reservations cover the entire
         PCI host bridge memory window returned by the _CRS object in the
         system's ACPI tables (Hans de Goede).
      
       - Add more sanity checking to ACPI SPCR tables parsing (Mark
         Langsdorf).
      
       - Fix up ACPI APD (AMD Soc) driver initialization (Jiasheng Jiang).
      
       - Drop unnecessary "static" from the ACPI PCC address space handling
         driver added recently (kernel test robot).
      
      * acpi-x86:
        x86/PCI: Ignore E820 reservations for bridge windows on newer systems
      
      * acpi-tables:
        ACPI: SPCR: check if table->serial_port.access_width is too wide
      
      * acpi-soc:
        ACPI: APD: Check for NULL pointer after calling devm_ioremap()
      
      * acpi-pcc:
        ACPI: PCC: pcc_ctx can be static
      ebf8b135
    • Linus Torvalds's avatar
      Merge tag '5.17-rc-part1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 0c947b89
      Linus Torvalds authored
      Pull cifs updates from Steve French:
      
       - multichannel patches mostly related to improving reconnect behavior
      
       - minor cleanup patches
      
      * tag '5.17-rc-part1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix FILE_BOTH_DIRECTORY_INFO definition
        cifs: move superblock magic defitions to magic.h
        cifs: Fix smb311_update_preauth_hash() kernel-doc comment
        cifs: avoid race during socket reconnect between send and recv
        cifs: maintain a state machine for tcp/smb/tcon sessions
        cifs: fix hang on cifs_get_next_mid()
        cifs: take cifs_tcp_ses_lock for status checks
        cifs: reconnect only the connection and not smb session where possible
        cifs: add WARN_ON for when chan_count goes below minimum
        cifs: adjust DebugData to use chans_need_reconnect for conn status
        cifs: use the chans_need_reconnect bitmap for reconnect status
        cifs: track individual channel status using chans_need_reconnect
        cifs: remove redundant assignment to pointer p
      0c947b89
    • NeilBrown's avatar
      devtmpfs regression fix: reconfigure on each mount · a6097180
      NeilBrown authored
      Prior to Linux v5.4 devtmpfs used mount_single() which treats the given
      mount options as "remount" options, so it updates the configuration of
      the single super_block on each mount.
      
      Since that was changed, the mount options used for devtmpfs are ignored.
      This is a regression which affect systemd - which mounts devtmpfs with
      "-o mode=755,size=4m,nr_inodes=1m".
      
      This patch restores the "remount" effect by calling reconfigure_single()
      
      Fixes: d401727e ("devtmpfs: don't mix {ramfs,shmem}_fill_super() with mount_single()")
      Acked-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a6097180
    • Linus Torvalds's avatar
      Merge tag 'fbdev-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 3c750c7b
      Linus Torvalds authored
      Pull fbdev maintainership update from Helge Deller:
       "The fbdev layer is orphaned, but seems to need some care. So I'd like
        to step up as new maintainer"
      
      * tag 'fbdev-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        MAINTAINERS: Add Helge as fbdev maintainer
      3c750c7b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · b520085c
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "Updates to Goodix touchscreen driver (addition of pen support) and
        Silead touchscreen driver (also addition of pen support and parsing of
        embedded firmware to determine screen size), along with assorted fixes
        for other drivers"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: ti_am335x_tsc - fix a typo in a comment
        Input: zinitix - add compatible for bt532
        Input: zinitix - handle proper supply names
        dt-bindings: input/ts/zinitix: Convert to YAML, fix and extend
        Input: axp20x-pek - revert "always register interrupt handlers" change
        Input: gpio-keys - avoid clearing twice some memory
        Input: byd - fix typo in a comment
        Input: ucb1400_ts - remove redundant variable penup
        Input: ti_am335x_tsc - lower the X and Y sampling time
        Input: ti_am335x_tsc - fix STEPCONFIG setup for Z2
        Input: ti_am335x_tsc - set ADCREFM for X configuration
        Input: silead - add pen support
        Input: silead - add support for EFI-embedded fw using different min/max coordinates
        Input: goodix - 2 small fixes for pen support
        Input: goodix - improve gpiod_get() error logging
        Input: goodix - add pen support
        Input: ff-core - correct magnitude setting for rumble compatibility
        Input: palmas-pwrbutton - make a couple of arrays static const
        Input: wacom_i2c - clean up the query device fields
        Input: palmas-pwrbutton - use bitfield helpers
      b520085c
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · 4b378951
      Linus Torvalds authored
      Pull i3c updates from Alexandre Belloni:
       "Mostly non urgent fixes and a few improvements (including runtime pm
        suport) to the Silvaco driver"
      
      * tag 'i3c/for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        i3c: master: dw: check return of dw_i3c_master_get_free_pos()
        i3c: master: mipi-i3c-hci: correct the config reference for endianness
        i3c: master: svc: enable the interrupt in the enable ibi function
        i3c: master: svc: add the missing module device table
        i3c: master: svc: add runtime pm support
        i3c: master: svc: set ODSTOP to let I2C device see the STOP signal
        i3c: master: svc: add support for slave to stop returning data
        i3c: master: svc: separate err, fifo and disable interrupt of reset function
        i3c: master: svc: fix atomic issue
        i3c: master: svc: move module reset behind clk enable
        i3c/master/mipi-i3c-hci: Fix a potentially infinite loop in 'hci_dat_v1_get_index()'
        i3c: fix incorrect address slot lookup on 64-bit
        i3c/master/mipi-i3c-hci: Prefer kcalloc over open coded arithmetic
        i3c/master/mipi-i3c-hci: Prefer struct_size over open coded arithmetic
      4b378951
    • Linus Torvalds's avatar
      Merge tag 'ntb-5.17' of git://github.com/jonmason/ntb · 96000bc9
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "New AMD PCI ID for NTB, and a number of bug fixes for ntb_hw_switchtec
        for Linux v5.17"
      
      * tag 'ntb-5.17' of git://github.com/jonmason/ntb:
        ntb_hw_switchtec: Fix a minor issue in config_req_id_table()
        ntb_hw_switchtec: Remove code for disabling ID protection
        ntb_hw_switchtec: Update the way of getting VEP instance ID
        ntb_hw_switchtec: AND with the part_map for a valid tpart_vec
        ntb_hw_switchtec: Fix bug with more than 32 partitions
        ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all
        ntb_hw_switchtec: fix the spelling of "its"
        NTB/msi: Fix ntbm_msi_request_threaded_irq() kernel-doc comment
        ntb_hw_amd: Add NTB PCI ID for new gen CPU
      96000bc9
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.17-rc1' of git://www.linux-watchdog.org/linux-watchdog · 2225acc3
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - New device support:
           - Watchdog Timer driver for RZ/G2L
           - Realtek Otto watchdog timer
           - Apple SoC watchdog driver
           - Fintek F81966
      
       - Remove BCM63XX_WDT after support for this SoC was added to
         BCM7038_WDT
      
       - Improvements of the BCM7038_WDT and s3c2410_wdt code
      
       - Several other fixes and improvements
      
      * tag 'linux-watchdog-5.17-rc1' of git://www.linux-watchdog.org/linux-watchdog: (38 commits)
        watchdog: msc313e: Check if the WDT was running at boot
        watchdog: Add Apple SoC watchdog driver
        dt-bindings: watchdog: Add SM6350 and SM8250 compatible
        watchdog: s3c2410: Fix getting the optional clock
        watchdog: s3c2410: Use platform_get_irq() to get the interrupt
        dt-bindings: watchdog: atmel: Add missing 'interrupts' property
        watchdog: mtk_wdt: use platform_get_irq_optional
        watchdog: Add Watchdog Timer driver for RZ/G2L
        dt-bindings: watchdog: renesas,wdt: Add support for RZ/G2L
        watchdog: da9063: Add hard dependency on I2C
        watchdog: Add Realtek Otto watchdog timer
        dt-bindings: watchdog: Realtek Otto WDT binding
        watchdog: s3c2410: Add Exynos850 support
        watchdog: da9063: use atomic safe i2c transfer in reset handler
        watchdog: davinci: Use div64_ul instead of do_div
        watchdog: Remove BCM63XX_WDT
        MIPS: BCM63XX: Provide platform data to watchdog device
        watchdog: bcm7038_wdt: Add platform device id for bcm63xx-wdt
        watchdog: Allow building BCM7038_WDT for BCM63XX
        watchdog: bcm7038_wdt: Support platform data configuration
        ...
      2225acc3
    • Linus Torvalds's avatar
      Merge branch 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux · b70b878c
      Linus Torvalds authored
      Pull coccinelle updates from Julia Lawall:
       "Remove some semantic patches and remove a maintainer.
      
        Qing Wang <wangqing@vivo.com> reported that fen.cocci mostly finds
        false positives, so it is dropped.
        scripts/coccinelle/iterators/for_each_child.cocci also subsumes it, in
        a more correct way.
      
        Matthew Wilcox <willy@infradead.org> reported that bugon.cocci mostly
        gives false positives. It is an old script and was designed to be
        inaccurate to maximally cover problems, but most of what it is useful
        for has been done already.
      
        Gilles Muller passed away and is thus dropped from the maintainers
        list"
      
      * 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
        drop fen.cocci
        scripts/coccinelle: drop bugon.cocci
        MAINTAINERS: remove Gilles Muller
      b70b878c
    • Linus Torvalds's avatar
      Merge branch 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 763978ca
      Linus Torvalds authored
      Pull module updates from Luis Chamberlain:
       "The biggest change here is in-kernel support for module decompression.
        This change is being made to help support LSMs like LoadPin as
        otherwise it loses link between the source of kernel module on the
        disk and binary blob that is being loaded into the kernel.
      
        kmod decompression is still done by userspace even with this is done,
        both because there are no measurable gains in not doing so and as it
        adds a secondary extra check for validating the module before loading
        it into the kernel.
      
        The rest of the changes are minor, the only other change worth
        mentionin there is Jessica Yu is now bowing out of maintenance of
        modules as she's taking a break from work.
      
        While there were other changes posted for modules, those have not yet
        received much review of testing so I'm not yet comfortable in merging
        any of those changes yet."
      
      * 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        module: fix signature check failures when using in-kernel decompression
        kernel: Fix spelling mistake "compresser" -> "compressor"
        MAINTAINERS: add mailing lists for kmod and modules
        module.h: allow #define strings to work with MODULE_IMPORT_NS
        module: add in-kernel support for decompressing
        MAINTAINERS: Remove myself as modules maintainer
        module: Remove outdated comment
      763978ca
    • Linus Torvalds's avatar
      unicode: fix .gitignore for generated utfdata file · 98f23457
      Linus Torvalds authored
      Commit 2b3d0478 ("unicode: Add utf8-data module") changed the
      generated utf8data file from 'utf8data.h' to 'utf8data.c', but didn't
      change the comments or the .gitignore to match.
      
      The comments should be updated too, but at least they don't cause any
      visible breakage.  But the gitignore file needs changing to avoid git
      complaining about untracked files.
      
      Fixes: 2b3d0478 ("unicode: Add utf8-data module")
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      98f23457
    • Linus Torvalds's avatar
      Merge branch 'signal-for-v5.17' of... · 35ce8ae9
      Linus Torvalds authored
      Merge branch 'signal-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull signal/exit/ptrace updates from Eric Biederman:
       "This set of changes deletes some dead code, makes a lot of cleanups
        which hopefully make the code easier to follow, and fixes bugs found
        along the way.
      
        The end-game which I have not yet reached yet is for fatal signals
        that generate coredumps to be short-circuit deliverable from
        complete_signal, for force_siginfo_to_task not to require changing
        userspace configured signal delivery state, and for the ptrace stops
        to always happen in locations where we can guarantee on all
        architectures that the all of the registers are saved and available on
        the stack.
      
        Removal of profile_task_ext, profile_munmap, and profile_handoff_task
        are the big successes for dead code removal this round.
      
        A bunch of small bug fixes are included, as most of the issues
        reported were small enough that they would not affect bisection so I
        simply added the fixes and did not fold the fixes into the changes
        they were fixing.
      
        There was a bug that broke coredumps piped to systemd-coredump. I
        dropped the change that caused that bug and replaced it entirely with
        something much more restrained. Unfortunately that required some
        rebasing.
      
        Some successes after this set of changes: There are few enough calls
        to do_exit to audit in a reasonable amount of time. The lifetime of
        struct kthread now matches the lifetime of struct task, and the
        pointer to struct kthread is no longer stored in set_child_tid. The
        flag SIGNAL_GROUP_COREDUMP is removed. The field group_exit_task is
        removed. Issues where task->exit_code was examined with
        signal->group_exit_code should been examined were fixed.
      
        There are several loosely related changes included because I am
        cleaning up and if I don't include them they will probably get lost.
      
        The original postings of these changes can be found at:
           https://lkml.kernel.org/r/87a6ha4zsd.fsf@email.froward.int.ebiederm.org
           https://lkml.kernel.org/r/87bl1kunjj.fsf@email.froward.int.ebiederm.org
           https://lkml.kernel.org/r/87r19opkx1.fsf_-_@email.froward.int.ebiederm.org
      
        I trimmed back the last set of changes to only the obviously correct
        once. Simply because there was less time for review than I had hoped"
      
      * 'signal-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (44 commits)
        ptrace/m68k: Stop open coding ptrace_report_syscall
        ptrace: Remove unused regs argument from ptrace_report_syscall
        ptrace: Remove second setting of PT_SEIZED in ptrace_attach
        taskstats: Cleanup the use of task->exit_code
        exit: Use the correct exit_code in /proc/<pid>/stat
        exit: Fix the exit_code for wait_task_zombie
        exit: Coredumps reach do_group_exit
        exit: Remove profile_handoff_task
        exit: Remove profile_task_exit & profile_munmap
        signal: clean up kernel-doc comments
        signal: Remove the helper signal_group_exit
        signal: Rename group_exit_task group_exec_task
        coredump: Stop setting signal->group_exit_task
        signal: Remove SIGNAL_GROUP_COREDUMP
        signal: During coredumps set SIGNAL_GROUP_EXIT in zap_process
        signal: Make coredump handling explicit in complete_signal
        signal: Have prepare_signal detect coredumps using signal->core_state
        signal: Have the oom killer detect coredumps using signal->core_state
        exit: Move force_uaccess back into do_exit
        exit: Guarantee make_task_dead leaks the tsk when calling do_task_exit
        ...
      35ce8ae9
    • Linus Torvalds's avatar
      Merge tag 'unicode-for-next-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode · 6661224e
      Linus Torvalds authored
      Pull unicode updates from Gabriel Krisman Bertazi:
       "This includes patches from Christoph Hellwig to split the large data
        tables of the unicode subsystem into a loadable module, which allow
        users to not have them around if case-insensitive filesystems are not
        to be used. It also includes minor code fixes to unicode and its
        users, from the same author.
      
        All the patches here have been on linux-next releases for the past
        months"
      
      * tag 'unicode-for-next-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode:
        unicode: only export internal symbols for the selftests
        unicode: Add utf8-data module
        unicode: cache the normalization tables in struct unicode_map
        unicode: move utf8cursor to utf8-selftest.c
        unicode: simplify utf8len
        unicode: remove the unused utf8{,n}age{min,max} functions
        unicode: pass a UNICODE_AGE() tripple to utf8_load
        unicode: mark the version field in struct unicode_map unsigned
        unicode: remove the charset field from struct unicode_map
        f2fs: simplify f2fs_sb_read_encoding
        ext4: simplify ext4_sb_read_encoding
      6661224e