1. 13 Aug, 2020 7 commits
    • Jiri Olsa's avatar
      perf tools: Fix module symbol processing · b2fe96a3
      Jiri Olsa authored
      The 'dso->kernel' condition is true also for kernel modules now,
      and there are several places that were omited by the initial change:
      
        - we need to identify modules separately in dso__process_kernel_symbol
        - we need to set 'dso->kernel' for module from buildid table
        - there's no need to use 'dso->kernel || kmodule' in one condition
      
      Committer testing:
      
      Before:
      
        # perf test -v object
        <SNIP>
        Objdump command is: objdump -z -d --start-address=0xffffffff813e682f --stop-address=0xffffffff813e68af /usr/lib/debug/lib/modules/5.7.14-200.fc32.x86_64/vmlinux
        Bytes read match those read by objdump
        Reading object code for memory address: 0xffffffffc02dc257
        File is: /lib/modules/5.7.14-200.fc32.x86_64/kernel/arch/x86/crypto/crc32c-intel.ko.xz
        On file address is: 0xffffffffc02dc2e7
        dso__data_read_offset failed
        test child finished with -1
        ---- end ----
        Object code reading: FAILED!
        #
      
      After:
      
        # perf test object
        26: Object code reading                                   : Ok
        # perf test object
        26: Object code reading                                   : Ok
        # perf test object
        26: Object code reading                                   : Ok
        # perf test object
        26: Object code reading                                   : Ok
        # perf test object
        26: Object code reading                                   : Ok
        #
      
      Fixes: 02213cec ("perf maps: Mark module DSOs with kernel type")
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      b2fe96a3
    • Jiri Olsa's avatar
      perf tools: Rename 'enum dso_kernel_type' to 'enum dso_space_type' · 1c695c88
      Jiri Olsa authored
      Rename enum dso_kernel_type to enum dso_space_type, which seems like
      better fit.
      
      Committer notes:
      
      This is used with 'struct dso'->kernel, which once was a boolean, so
      DSO_SPACE__USER is zero, !zero means some sort of kernel space, be it
      the host kernel space or a guest kernel space.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1c695c88
    • Rob Herring's avatar
      MAINTAINERS: Add missing tools/lib/perf/ path to perf maintainers · ceafdd66
      Rob Herring authored
      Commit 3ce311af ("libperf: Move to tools/lib/perf") moved libperf
      out of tools/perf/, but failed to update MAINTAINERS.
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      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>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20200807193225.3904108-1-robh@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ceafdd66
    • Rob Herring's avatar
      libperf: Fix man page typos · ce746d43
      Rob Herring authored
      Fix various typos and inconsistent capitalization of CPU in the libperf
      man pages.
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      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>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20200807193241.3904545-1-robh@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ce746d43
    • Michael Petlan's avatar
      perf test: Allow multiple probes in record+script_probe_vfs_getname.sh · 194cb6b5
      Michael Petlan authored
      Sometimes when adding a kprobe by perf, it results in multiple probe
      points, such as the following:
      
        # ./perf probe -l
          probe:vfs_getname    (on getname_flags:73@fs/namei.c with pathname)
          probe:vfs_getname_1  (on getname_flags:73@fs/namei.c with pathname)
          probe:vfs_getname_2  (on getname_flags:73@fs/namei.c with pathname)
        # cat /sys/kernel/debug/tracing/kprobe_events
        p:probe/vfs_getname _text+5501804 pathname=+0(+0(%gpr31)):string
        p:probe/vfs_getname_1 _text+5505388 pathname=+0(+0(%gpr31)):string
        p:probe/vfs_getname_2 _text+5508396 pathname=+0(+0(%gpr31)):string
      
      In this test, we need to record all of them and expect any of them in
      the perf-script output, since it's not clear which one will be used for
      the desired syscall:
      
        # perf stat -e probe:vfs_getname\* -- touch /tmp/nic
      
         Performance counter stats for 'touch /tmp/nic':
      
                      31      probe:vfs_getname_2
                       0      probe:vfs_getname_1
                       1      probe:vfs_getname
             0.001421826 seconds time elapsed
      
             0.001506000 seconds user
             0.000000000 seconds sys
      
      If the test relies only on probe:vfs_getname, it might easily miss the
      relevant data.
      Signed-off-by: default avatarMichael Petlan <mpetlan@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      LPU-Reference: 20200722135845.29958-1-mpetlan@redhat.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      194cb6b5
    • Vincent Whitchurch's avatar
      perf bench mem: Always memset source before memcpy · 1beaef29
      Vincent Whitchurch authored
      For memcpy, the source pages are memset to zero only when --cycles is
      used.  This leads to wildly different results with or without --cycles,
      since all sources pages are likely to be mapped to the same zero page
      without explicit writes.
      
      Before this fix:
      
      $ export cmd="./perf stat -e LLC-loads -- ./perf bench \
        mem memcpy -s 1024MB -l 100 -f default"
      $ $cmd
      
               2,935,826      LLC-loads
             3.821677452 seconds time elapsed
      
      $ $cmd --cycles
      
             217,533,436      LLC-loads
             8.616725985 seconds time elapsed
      
      After this fix:
      
      $ $cmd
      
             214,459,686      LLC-loads
             8.674301124 seconds time elapsed
      
      $ $cmd --cycles
      
             214,758,651      LLC-loads
             8.644480006 seconds time elapsed
      
      Fixes: 47b5757b ("perf bench mem: Move boilerplate memory allocation to the infrastructure")
      Signed-off-by: default avatarVincent Whitchurch <vincent.whitchurch@axis.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>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: kernel@axis.com
      Link: http://lore.kernel.org/lkml/20200810133404.30829-1-vincent.whitchurch@axis.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1beaef29
    • David Ahern's avatar
      perf sched: Prefer sched_waking event when it exists · d566a9c2
      David Ahern authored
      Commit fbd705a0 ("sched: Introduce the 'trace_sched_waking'
      tracepoint") added sched_waking tracepoint which should be preferred
      over sched_wakeup when analyzing scheduling delays.
      
      Update 'perf sched record' to collect sched_waking events if it exists
      and fallback to sched_wakeup if it does not. Similarly, update timehist
      command to skip sched_wakeup events if the session includes sched_waking
      (ie., sched_waking is preferred over sched_wakeup).
      Signed-off-by: default avatarDavid Ahern <dsahern@kernel.org>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Link: http://lore.kernel.org/lkml/20200807164844.44870-1-dsahern@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d566a9c2
  2. 12 Aug, 2020 11 commits
    • Colin Ian King's avatar
      perf bench: Fix a couple of spelling mistakes in options text · f9f95068
      Colin Ian King authored
      There are a couple of spelling mistakes in the text. Fix these.
      Signed-off-by: default avatarColin King <colin.king@canonical.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>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: kernel-janitors@vger.kernel.org
      Link: http://lore.kernel.org/lkml/20200812064647.200132-1-colin.king@canonical.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f9f95068
    • Alexander Gordeev's avatar
      perf bench numa: Fix benchmark names · 85372c69
      Alexander Gordeev authored
      Standard benchmark names let users know the tests specifics.  For
      example "2x1-bw-process" name tells that two processes one thread each
      are run and the RAM bandwidth is measured.
      
      Several benchmarks names do not correspond to their actual running
      configuration. Fix that and also some whitespace and comment
      inconsistencies.
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.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>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/6b6f2084f132ee8e9203dc7c32f9deb209b87a68.1597004831.git.agordeev@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      85372c69
    • Alexander Gordeev's avatar
      perf bench numa: Fix number of processes in "2x3-convergence" test · 72d69c2a
      Alexander Gordeev authored
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/d949f5f48e17fc816f3beecf8479f1b2480345e4.1597004831.git.agordeev@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      72d69c2a
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync kvm.h headers with the kernel sources · 6016e034
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        3edd6839 ("KVM: x86: Add a capability for GUEST_MAXPHYADDR < HOST_MAXPHYADDR support")
        1aa561b1 ("kvm: x86: Add "last CPU" to some KVM_EXIT information")
        23a60f83 ("s390/kvm: diagnose 0x318 sync and reset")
      
      That do not result in any change in tooling, as the additions are not
      being used in any table generator.
      
      This silences these perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
        diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Collin Walling <walling@linux.ibm.com>
      Cc: Jim Mattson <jmattson@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mohammed Gamal <mgamal@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6016e034
    • Arnaldo Carvalho de Melo's avatar
      tools include UAPI: Sync linux/vhost.h with the kernel sources · fe452fb8
      Arnaldo Carvalho de Melo authored
      To get the changes in:
      
        25abc060 ("vhost-vdpa: support IOTLB batching hints")
      
      This doesn't result in any changes in tooling, no new ioctls to be
      picked up by the id->string table generators, etc.
      
      Silencing this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/vhost.h' differs from latest version at 'include/uapi/linux/vhost.h'
        diff -u tools/include/uapi/linux/vhost.h include/uapi/linux/vhost.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jason Wang <jasowang@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      fe452fb8
    • Arnaldo Carvalho de Melo's avatar
      tools headers kvm s390: Sync headers with the kernel sources · 23db762b
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        23a60f83 ("s390/kvm: diagnose 0x318 sync and reset")
      
      None of them trigger any changes in tooling, this time this is just to silence
      these perf build warnings:
      
        Warning: Kernel ABI header at 'tools/arch/s390/include/uapi/asm/kvm.h' differs from latest version at 'arch/s390/include/uapi/asm/kvm.h'
        diff -u tools/arch/s390/include/uapi/asm/kvm.h arch/s390/include/uapi/asm/kvm.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Collin Walling <walling@linux.ibm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      23db762b
    • Arnaldo Carvalho de Melo's avatar
      perf trace beauty: Use the autogenerated protocol family table · f3cf7fa9
      Arnaldo Carvalho de Melo authored
      That helps us not to lose new protocol families when they are
      introduced, replacing that hardcoded, dated family->string table.
      
      To recap what this allows us to do:
      
        # perf trace -e syscalls:sys_enter_socket/max-stack=10/ --filter=family==INET --max-events=1
           0.000 fetchmail/41097 syscalls:sys_enter_socket(family: INET, type: DGRAM|CLOEXEC|NONBLOCK, protocol: IP)
                                             __GI___socket (inlined)
                                             reopen (/usr/lib64/libresolv-2.31.so)
                                             send_dg (/usr/lib64/libresolv-2.31.so)
                                             __res_context_send (/usr/lib64/libresolv-2.31.so)
                                             __GI___res_context_query (inlined)
                                             __GI___res_context_search (inlined)
                                             _nss_dns_gethostbyname4_r (/usr/lib64/libnss_dns-2.31.so)
                                             gaih_inet.constprop.0 (/usr/lib64/libc-2.31.so)
                                             __GI_getaddrinfo (inlined)
                                             [0x15cb2] (/usr/bin/fetchmail)
        #
      
      More work is still needed to allow for the more natura strace-like
      syscall name usage instead of the trace event name:
      
        # perf trace -e socket/max-stack=10,family==INET/ --max-events=1
      
      I.e. to allow for modifiers to follow the syscall name and for logical
      expressions to be accepted as filters to use with that syscall, be it as
      trace event filters or BPF based ones.
      
      Using -v we can see how the trace event filter is built:
      
        # perf trace -v -e syscalls:sys_enter_socket/call-graph=dwarf/ --filter=family==INET --max-events=2
        <SNIP>
        New filter for syscalls:sys_enter_socket: (family==0x2) && (common_pid != 41384 && common_pid != 2836)
        <SNIP>
      
        $ tools/perf/trace/beauty/socket.sh | grep -w 2
      	[2] = "INET",
        $
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f3cf7fa9
    • Arnaldo Carvalho de Melo's avatar
      perf trace beauty: Add script to autogenerate socket families table · 58277f50
      Arnaldo Carvalho de Melo authored
      To use with 'perf trace', to convert the protocol families to strings,
      e.g:
      
        $ tools/perf/trace/beauty/socket.sh
        static const char *socket_families[] = {
        	[0] = "UNSPEC",
        	[1] = "LOCAL",
        	[2] = "INET",
        	[3] = "AX25",
        	[4] = "IPX",
        	[5] = "APPLETALK",
        	[6] = "NETROM",
        	[7] = "BRIDGE",
        	[8] = "ATMPVC",
        	[9] = "X25",
        	[10] = "INET6",
        	[11] = "ROSE",
        	[12] = "DECnet",
        	[13] = "NETBEUI",
        	[14] = "SECURITY",
        	[15] = "KEY",
        	[16] = "NETLINK",
        	[17] = "PACKET",
        	[18] = "ASH",
        	[19] = "ECONET",
        	[20] = "ATMSVC",
        	[21] = "RDS",
        	[22] = "SNA",
        	[23] = "IRDA",
        	[24] = "PPPOX",
        	[25] = "WANPIPE",
        	[26] = "LLC",
        	[27] = "IB",
        	[28] = "MPLS",
        	[29] = "CAN",
        	[30] = "TIPC",
        	[31] = "BLUETOOTH",
        	[32] = "IUCV",
        	[33] = "RXRPC",
        	[34] = "ISDN",
        	[35] = "PHONET",
        	[36] = "IEEE802154",
        	[37] = "CAIF",
        	[38] = "ALG",
        	[39] = "NFC",
        	[40] = "VSOCK",
        	[41] = "KCM",
        	[42] = "QIPCRTR",
        	[43] = "SMC",
        	[44] = "XDP",
        };
        $
      
      This uses a copy of include/linux/socket.h that is kept in a directory
      to be used just for these table generation scripts and for checking if
      the kernel has a new file that maybe gets something new for these
      tables.
      
      This allows us to:
      
      - Avoid accessing files outside tools/, in the kernel sources, that may
        be changed in unexpected ways and thus break these scripts.
      
      - Notice when those files change and thus check if the changes don't
        break those scripts, update them to automatically get the new
        definitions, a new socket family, for instance.
      
      - Not add then to the tools/include/ where it may end up used while
        building the tools and end up requiring dragging yet more stuff from
        the kernel or plain break the build in some of the myriad environments
        where perf may be built.
      
      This will replace the previous static array in tools/perf/ that was
      dated and was already missing the AF_KCM, AF_QIPCRTR, AF_SMC and AF_XDP
      families.
      
      The next cset will wire this up to the perf build process.
      
      At some point this must be made into a library to be used in places such
      as libtraceevent, bpftrace, etc.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      58277f50
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v5.9' of... · fb893de3
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Benson Leung:
       "cros_ec_typec:
      
         - Add support for switch control and alternate modes to the Chrome EC
           Type C port driver
      
         - Add basic suspend/resume support
      
        sensorhub:
      
         - Fix timestamp overflow issue
      
         - Fix legacy timestamp spreading on Nami systems
      
        cros_ec_proto:
      
         - After removing all users of, stop exporting cros_ec_cmd_xfer
      
         - Check for missing EC_CMD_HOST_EVENT_GET_WAKE_MASK and ignore
           wakeups on old ECs
      
        misc:
      
         - Documentation warning cleanup
      
         - Fix double unlock issue in ishtp"
      
      * tag 'tag-chrome-platform-for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux: (21 commits)
        platform/chrome: cros_ec_proto: check for missing EC_CMD_HOST_EVENT_GET_WAKE_MASK
        platform/chrome: cros_ec_proto: ignore unnecessary wakeups on old ECs
        platform/chrome: cros_ec_sensorhub: Simplify legacy timestamp spreading
        platform/chrome: cros_ec_proto: Do not export cros_ec_cmd_xfer()
        platform/chrome: cros_ec_typec: Unregister partner on error
        platform/chrome: cros_ec_sensorhub: Fix EC timestamp overflow
        platform/chrome: cros_ec_typec: Add PM support
        platform/chrome: cros_ec_typec: Use workqueue for port update
        platform/chrome: cros_ec_typec: Add a dependency on USB_ROLE_SWITCH
        platform/chrome: cros_ec_ishtp: Fix a double-unlock issue
        platform/chrome: cros_ec_rpmsg: Document missing struct parameters
        platform/chrome: cros_ec_spi: Document missing function parameters
        platform/chrome: cros_ec_typec: Add TBT compat support
        platform/chrome: cros_ec: Add TBT pd_ctrl fields
        platform/chrome: cros_ec_typec: Make configure_mux static
        platform/chrome: cros_ec_typec: Support DP alt mode
        platform/chrome: cros_ec_typec: Add USB mux control
        platform/chrome: cros_ec_typec: Register PD CTRL cmd v2
        platform/chrome: cros_ec: Update mux state bits
        platform/chrome: cros_ec_typec: Register Type C switches
        ...
      fb893de3
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.9-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · d668e848
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "A fix and a cleanup...
      
        The fix: Al Viro pointed out that I had broken some acl functionality
        with one of my previous patches.
      
        And the cleanup: Jing Xiangfeng found and removed a needless variable
        assignment"
      
      * tag 'for-linus-5.9-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: remove unnecessary assignment to variable ret
        orangefs: posix acl fix...
      d668e848
    • Linus Torvalds's avatar
      Merge tag 'zonefs-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · 57d528bf
      Linus Torvalds authored
      Pull zonefs update from Damien Le Moal:
       "A single change for this cycle adding support for zone capacities
        smaller than the zone size, from Johannes"
      
      * tag 'zonefs-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: update documentation to reflect zone size vs capacity
        zonefs: add zone-capacity support
      57d528bf
  3. 11 Aug, 2020 17 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · bb5baaa9
      Linus Torvalds authored
      Pull arm64 fix from Catalin Marinas:
       "Fix recordmcount build failure on non-arm64 (caused by an arm64
        patch)"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        recordmcount: Fix build failure on non arm64
      bb5baaa9
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 57b07793
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - IRQ bypass support for vdpa and IFC
      
       - MLX5 vdpa driver
      
       - Endianness fixes for virtio drivers
      
       - Misc other fixes
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (71 commits)
        vdpa/mlx5: fix up endian-ness for mtu
        vdpa: Fix pointer math bug in vdpasim_get_config()
        vdpa/mlx5: Fix pointer math in mlx5_vdpa_get_config()
        vdpa/mlx5: fix memory allocation failure checks
        vdpa/mlx5: Fix uninitialised variable in core/mr.c
        vdpa_sim: init iommu lock
        virtio_config: fix up warnings on parisc
        vdpa/mlx5: Add VDPA driver for supported mlx5 devices
        vdpa/mlx5: Add shared memory registration code
        vdpa/mlx5: Add support library for mlx5 VDPA implementation
        vdpa/mlx5: Add hardware descriptive header file
        vdpa: Modify get_vq_state() to return error code
        net/vdpa: Use struct for set/get vq state
        vdpa: remove hard coded virtq num
        vdpasim: support batch updating
        vhost-vdpa: support IOTLB batching hints
        vhost-vdpa: support get/set backend features
        vhost: generialize backend features setting/getting
        vhost-vdpa: refine ioctl pre-processing
        vDPA: dont change vq irq after DRIVER_OK
        ...
      57b07793
    • Linus Torvalds's avatar
      Merge tag 'for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · ce13266d
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "A couple of minor documentation updates only for this release"
      
      * tag 'for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        LSM: drop duplicated words in header file comments
        Replace HTTP links with HTTPS ones: security
      ce13266d
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 952ace79
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - Remove of the dev->archdata.iommu (or similar) pointers from most
         architectures. Only Sparc is left, but this is private to Sparc as
         their drivers don't use the IOMMU-API.
      
       - ARM-SMMU updates from Will Deacon:
      
           - Support for SMMU-500 implementation in Marvell Armada-AP806 SoC
      
           - Support for SMMU-500 implementation in NVIDIA Tegra194 SoC
      
           - DT compatible string updates
      
           - Remove unused IOMMU_SYS_CACHE_ONLY flag
      
           - Move ARM-SMMU drivers into their own subdirectory
      
       - Intel VT-d updates from Lu Baolu:
      
           - Misc tweaks and fixes for vSVA
      
           - Report/response page request events
      
           - Cleanups
      
       - Move the Kconfig and Makefile bits for the AMD and Intel drivers into
         their respective subdirectory.
      
       - MT6779 IOMMU Support
      
       - Support for new chipsets in the Renesas IOMMU driver
      
       - Other misc cleanups and fixes (e.g. to improve compile test coverage)
      
      * tag 'iommu-updates-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (77 commits)
        iommu/amd: Move Kconfig and Makefile bits down into amd directory
        iommu/vt-d: Move Kconfig and Makefile bits down into intel directory
        iommu/arm-smmu: Move Arm SMMU drivers into their own subdirectory
        iommu/vt-d: Skip TE disabling on quirky gfx dedicated iommu
        iommu: Add gfp parameter to io_pgtable_ops->map()
        iommu: Mark __iommu_map_sg() as static
        iommu/vt-d: Rename intel-pasid.h to pasid.h
        iommu/vt-d: Add page response ops support
        iommu/vt-d: Report page request faults for guest SVA
        iommu/vt-d: Add a helper to get svm and sdev for pasid
        iommu/vt-d: Refactor device_to_iommu() helper
        iommu/vt-d: Disable multiple GPASID-dev bind
        iommu/vt-d: Warn on out-of-range invalidation address
        iommu/vt-d: Fix devTLB flush for vSVA
        iommu/vt-d: Handle non-page aligned address
        iommu/vt-d: Fix PASID devTLB invalidation
        iommu/vt-d: Remove global page support in devTLB flush
        iommu/vt-d: Enforce PASID devTLB field mask
        iommu: Make some functions static
        iommu/amd: Remove double zero check
        ...
      952ace79
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 96f970fe
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Core Framework:
         - Trivial: Code refactoring
         - New API backlight_is_blank()
         - New API backlight_get_brightness()
         - Additional/reworked documentation
         - Remove 'extern' labels from prototypes
         - Drop backlight_put()
         - Staticify of_find_backlight()
      
        Driver Removal:
         - Removal of unused OT200 driver
         - Removal of unused Generic Backlight driver
      
        Fix-ups
         - Bunch of W=1 warning fixes
         - Convert to GPIO descriptors; sky81452
         - Move platform data handling into driver; sky81452
         - Remove superfluous code; lms501kf03
         - Many instances of using new APIs"
      
      * tag 'backlight-next-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: (34 commits)
        video: backlight: cr_bllcd: Remove unused variable 'intensity'
        backlight: backlight: Make of_find_backlight static
        backlight: backlight: Drop backlight_put()
        backlight: Use backlight_get_brightness() throughout
        backlight: jornada720_bl: Introduce backlight_is_blank()
        backlight: gpio_backlight: Simplify update_status()
        backlight: cr_bllcd: Introduce gpio-backlight semantics
        backlight: as3711_bl: Simplify update_status
        backlight: backlight: Introduce backlight_get_brightness()
        doc-rst: Wire-up Backlight kernel-doc documentation
        backlight: backlight: Add overview and update existing doc
        backlight: backlight: Drop extern from prototypes
        backlight: generic_bl: Remove this driver as it is unused
        backlight: backlight: Document enums in backlight.h
        backlight: backlight: Document inline functions in backlight.h
        backlight: backlight: Improve backlight_device documentation
        backlight: backlight: Improve backlight_properties documentation
        backlight: backlight: Improve backlight_ops documentation
        backlight: backlight: Add backlight_is_blank()
        backlight: backlight: Refactor fb_notifier_callback()
        ...
      96f970fe
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · c636eef2
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "This introduces a new DT binding format to describe the Qualcomm
        hardware mutex block and deprecates the old, invalid, one.
      
        It also cleans up the Kconfig slightly"
      
      * tag 'hwlock-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        dt-bindings: hwlock: qcom: Remove invalid binding
        hwspinlock: qcom: Allow mmio usage in addition to syscon
        dt-bindings: hwlock: qcom: Allow device on mmio bus
        dt-bindings: hwlock: qcom: Migrate binding to YAML
        hwspinlock: Simplify Kconfig
      c636eef2
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 617e7481
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This introduces a new "detached" state for remote processors that are
        deemed to be running at the time Linux boots and the infrastructure
        for "attaching" to these. It then introduces the support for
        performing this operation for the STM32 platform.
      
        The coredump functionality is moved out from the core file and gains
        support for an optional mode where the recovery phase awaits the
        notification from devcoredump that the dump should be released. This
        allows userspace to grab the coredump in scenarios where vmalloc space
        is too low for creating a complete copy of the coredump before handing
        this to devcoredump.
      
        A new character device based interface is introduced to allow tying
        the stoppage of a remote processor to the termination of a user space
        process. This is useful in situations when such process provides
        crucial resources/operations for the firmware running on the remote
        processor.
      
        The Texas Instrument K3 driver gains support for the C66x and C71x
        DSPs.
      
        Qualcomm remoteprocs gains support for stashing relocation information
        in IMEM, to aid post mortem debugging and the crash notification
        mechanism is generalized to be reusable in cases where loosely coupled
        drivers needs to know about the status of a remote processor. One such
        example is the IPA hardware block, which is jointly owned with the
        modem and migrated to this improved interface.
      
        It also introduces a number of bug fixes and debug improvements for
        the Qualcomm modem remoteproc driver.
      
        And it cleans up the inconsistent interface for remoteproc drivers to
        implement power management"
      
      * tag 'rproc-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc: (56 commits)
        remoteproc: core: Register the character device interface
        remoteproc: Add remoteproc character device interface
        remoteproc: kill IPA notify code
        net: ipa: new notification infrastructure
        remoteproc: k3-dsp: Add support for C71x DSPs
        dt-bindings: remoteproc: k3-dsp: Update bindings for C71x DSPs
        remoteproc: k3-dsp: Add support for L2RAM loading on C66x DSPs
        remoteproc: k3-dsp: Add a remoteproc driver of K3 C66x DSPs
        dt-bindings: remoteproc: Add bindings for C66x DSPs on TI K3 SoCs
        remoteproc: k3: Add TI-SCI processor control helper functions
        remoteproc: Introduce rproc_of_parse_firmware() helper
        dt-bindings: arm: keystone: Add common TI SCI bindings
        remoteproc: qcom_q6v5_mss: Remove redundant running state
        remoteproc: qcom: q6v5: Update running state before requesting stop
        remoteproc: qcom_q6v5_mss: Add modem debug policy support
        remoteproc: qcom_q6v5_mss: Validate modem blob firmware size before load
        remoteproc: qcom_q6v5_mss: Validate MBA firmware size before load
        rpmsg: update documentation
        remoteproc: qcom_q6v5_mss: Add MBA log extraction support
        remoteproc: Add coredump debugfs entry
        ...
      617e7481
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · dded87af
      Linus Torvalds authored
      Pull rpmsg update from Bjorn Andersson:
       "This ensures that rpmsg uses little-endian, per the VirtIO 1.0
        specification"
      
      * tag 'rpmsg-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        rpmsg: virtio: add endianness conversions
      dded87af
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 4bf5e361
      Linus Torvalds authored
      Pull libnvdimm updayes from Vishal Verma:
       "You'd normally receive this pull request from Dan Williams, but he's
        busy watching a newborn (Congrats Dan!), so I'm watching libnvdimm
        this cycle.
      
        This adds a new feature in libnvdimm - 'Runtime Firmware Activation',
        and a few small cleanups and fixes in libnvdimm and DAX. I'd
        originally intended to make separate topic-based pull requests - one
        for libnvdimm, and one for DAX, but some of the DAX material fell out
        since it wasn't quite ready.
      
        Summary:
      
         - add 'Runtime Firmware Activation' support for NVDIMMs that
           advertise the relevant capability
      
         - misc libnvdimm and DAX cleanups"
      
      * tag 'libnvdimm-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr
        libnvdimm/security: the 'security' attr never show 'overwrite' state
        libnvdimm/security: fix a typo
        ACPI: NFIT: Fix ARS zero-sized allocation
        dax: Fix incorrect argument passed to xas_set_err()
        ACPI: NFIT: Add runtime firmware activate support
        PM, libnvdimm: Add runtime firmware activation support
        libnvdimm: Convert to DEVICE_ATTR_ADMIN_RO()
        drivers/dax: Expand lock scope to cover the use of addresses
        fs/dax: Remove unused size parameter
        dax: print error message by pr_info() in __generic_fsdax_supported()
        driver-core: Introduce DEVICE_ATTR_ADMIN_{RO,RW}
        tools/testing/nvdimm: Emulate firmware activation commands
        tools/testing/nvdimm: Prepare nfit_ctl_test() for ND_CMD_CALL emulation
        tools/testing/nvdimm: Add command debug messages
        tools/testing/nvdimm: Cleanup dimm index passing
        ACPI: NFIT: Define runtime firmware activation commands
        ACPI: NFIT: Move bus_dsm_mask out of generic nvdimm_bus_descriptor
        libnvdimm: Validate command family indices
      4bf5e361
    • Johannes Thumshirn's avatar
      zonefs: update documentation to reflect zone size vs capacity · 4c96870e
      Johannes Thumshirn authored
      Update the zonefs documentation to reflect the difference between a zone's
      size and it's capacity.
      
      The maximum file size in zonefs is the zones capacity, for ZBC and ZAC
      based devices, which do not have a separate zone capacity, the zone
      capacity is equal to the zone size.
      Signed-off-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      4c96870e
    • Johannes Thumshirn's avatar
      zonefs: add zone-capacity support · e3c3155b
      Johannes Thumshirn authored
      In the zoned storage model, the sectors within a zone are typically all
      writeable. With the introduction of the Zoned Namespace (ZNS) Command
      Set in the NVM Express organization, the model was extended to have a
      specific writeable capacity.
      
      This zone capacity can be less than the overall zone size for a NVMe ZNS
      device or null_blk in zoned-mode. For other ZBC/ZAC devices the zone
      capacity is always equal to the zone size.
      
      Use the zone capacity field instead from blk_zone for determining the
      maximum inode size and inode blocks in zonefs.
      Signed-off-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      e3c3155b
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-2020-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux · 00e4db51
      Linus Torvalds authored
      Pull perf tools updates from Arnaldo Carvalho de Melo:
       "New features:
      
         - Introduce controlling how 'perf stat' and 'perf record' works via a
           control file descriptor, allowing starting with events configured
           but disabled until commands are received via the control file
           descriptor. This allows, for instance for tools such as Intel VTune
           to make further use of perf as its Linux platform driver.
      
         - Improve 'perf record' to to register in a perf.data file header the
           clockid used to help later correlate things like syslog files and
           perf events recorded.
      
         - Add basic syscall and find_next_bit benchmarks to 'perf bench'.
      
         - Allow using computed metrics in calculating other metrics. For
           instance:
      
      	  {
      	    .metric_expr    = "l2_rqsts.demand_data_rd_hit + l2_rqsts.pf_hit + l2_rqsts.rfo_hit",
      	    .metric_name    = "DCache_L2_All_Hits",
      	  },
      	  {
      	    .metric_expr    = "max(l2_rqsts.all_demand_data_rd - l2_rqsts.demand_data_rd_hit, 0) + l2_rqsts.pf_miss + l2_rqsts.rfo_miss",
      	    .metric_name    = "DCache_L2_All_Miss",
      	  },
      	  {
      	     .metric_expr    = "dcache_l2_all_hits + dcache_l2_all_miss",
      	     .metric_name    = "DCache_L2_All",
      	  }
      
         - Add suport for 'd_ratio', '>' and '<' operators to the expression
           resolver used in calculating metrics in 'perf stat'.
      
        Support for new kernel features:
      
         - Support TEXT_POKE and KSYMBOL_TYPE_OOL perf metadata events to cope
           with things like ftrace, trampolines, i.e. changes in the kernel
           text that gets in the way of properly decoding Intel PT hardware
           traces, for instance.
      
        Intel PT:
      
         - Add various knobs to reduce the volume of Intel PT traces by
           reducing the level of details such as decoding just some types of
           packets (e.g., FUP/TIP, PSB+), also filtering by time range.
      
         - Add new itrace options (log flags to the 'd' option, error flags to
           the 'e' one, etc), controlling how Intel PT is transformed into
           perf events, document some missing options (e.g., how to synthesize
           callchains).
      
        BPF:
      
         - Properly report BPF errors when parsing events.
      
         - Do not setup side-band events if LIBBPF is not linked, fixing a
           segfault.
      
        Libraries:
      
         - Improvements to the libtraceevent plugin mechanism.
      
         - Improve libtracevent support for KVM trace events SVM exit reasons.
      
         - Add a libtracevent plugins for decoding syscalls/sys_enter_futex
           and for tlb_flush.
      
         - Ensure sample_period is set libpfm4 events in 'perf test'.
      
         - Fixup libperf namespacing, to make sure what is in libperf has the
           perf_ namespace while what is now only in tools/perf/ doesn't use
           that prefix.
      
        Arch specific:
      
         - Improve the testing of vendor events and metrics in 'perf test'.
      
         - Allow no ARM CoreSight hardware tracer sink to be specified on
           command line.
      
         - Fix arm_spe_x recording when mixed with other perf events.
      
         - Add s390 idle functions 'psw_idle' and 'psw_idle_exit' to list of
           idle symbols.
      
         - List kernel supplied event aliases for arm64 in 'perf list'.
      
         - Add support for extended register capability in PowerPC 9 and 10.
      
         - Added nest IMC power9 metric events.
      
        Miscellaneous:
      
         - No need to setup sample_regs_intr/sample_regs_user for dummy
           events.
      
         - Update various copies of kernel headers, some causing perf to
           handle new syscalls, MSRs, etc.
      
         - Improve usage of flex and yacc, enabling warnings and addressing
           the fallout.
      
         - Add missing '--output' option to 'perf kmem' so that it can pass it
           along to 'perf record'.
      
         - 'perf probe' fixes related to adding multiple probes on the same
           address for the same event.
      
         - Make 'perf probe' warn if the target function is a GNU indirect
           function.
      
         - Remove //anon mmap events from 'perf inject jit' to fix supporting
           both using ELF files for generated functions and the perf-PID.map
           approaches"
      
      * tag 'perf-tools-2020-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (144 commits)
        perf record: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set
        perf tools powerpc: Add support for extended regs in power10
        perf tools powerpc: Add support for extended register capability
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        tools arch x86: Sync asm/cpufeatures.h with the kernel sources
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        tools headers UAPI: update linux/in.h copy
        tools headers API: Update close_range affected files
        perf script: Add 'tod' field to display time of day
        perf script: Change the 'enum perf_output_field' enumerators to be 64 bits
        perf data: Add support to store time of day in CTF data conversion
        perf tools: Move clockid_res_ns under clock struct
        perf header: Store clock references for -k/--clockid option
        perf tools: Add clockid_name function
        perf clockid: Move parse_clockid() to new clockid object
        tools lib traceevent: Handle possible strdup() error in tep_add_plugin_path() API
        libtraceevent: Fixed description of tep_add_plugin_path() API
        libtraceevent: Fixed type in PRINT_FMT_STING
        libtraceevent: Fixed broken indentation in parse_ip4_print_args()
        libtraceevent: Improve error handling of tep_plugin_add_option() API
        ...
      00e4db51
    • Linus Torvalds's avatar
      Merge tag 'ktest-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · ed3854ff
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
      
       - Have config-bisect save the good/bad configs at each step.
      
       - Show log file location even on success
      
       - Add PRE_TEST_DIE to kill test if the PRE_TEST fails
      
       - Add a NOT operator for conditionals in config file
      
       - Add the log output of the last test when emailing on failure.
      
       - Other minor clean ups and small fixes.
      
      * tag 'ktest-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest.pl: Fix spelling mistake "Cant" -> "Can't"
        ktest.pl: Change the logic to control the size of the log file emailed
        ktest.pl: Add MAIL_MAX_SIZE to limit the amount of log emailed
        ktest.pl: Add the log of last test in email on failure
        ktest.pl: Turn off buffering to the log file
        ktest.pl: Just open up the log file once
        ktest.pl: Add a NOT operator
        ktest.pl: Define PRE_TEST_DIE to kill the test if the PRE_TEST fails
        ktest.pl: Always show log file location if defined even on success
        ktest.pl: Have config-bisect save each config used in the bisect
      ed3854ff
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2020-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 97d052ea
      Linus Torvalds authored
      Pull locking updates from Thomas Gleixner:
       "A set of locking fixes and updates:
      
         - Untangle the header spaghetti which causes build failures in
           various situations caused by the lockdep additions to seqcount to
           validate that the write side critical sections are non-preemptible.
      
         - The seqcount associated lock debug addons which were blocked by the
           above fallout.
      
           seqcount writers contrary to seqlock writers must be externally
           serialized, which usually happens via locking - except for strict
           per CPU seqcounts. As the lock is not part of the seqcount, lockdep
           cannot validate that the lock is held.
      
           This new debug mechanism adds the concept of associated locks.
           sequence count has now lock type variants and corresponding
           initializers which take a pointer to the associated lock used for
           writer serialization. If lockdep is enabled the pointer is stored
           and write_seqcount_begin() has a lockdep assertion to validate that
           the lock is held.
      
           Aside of the type and the initializer no other code changes are
           required at the seqcount usage sites. The rest of the seqcount API
           is unchanged and determines the type at compile time with the help
           of _Generic which is possible now that the minimal GCC version has
           been moved up.
      
           Adding this lockdep coverage unearthed a handful of seqcount bugs
           which have been addressed already independent of this.
      
           While generally useful this comes with a Trojan Horse twist: On RT
           kernels the write side critical section can become preemtible if
           the writers are serialized by an associated lock, which leads to
           the well known reader preempts writer livelock. RT prevents this by
           storing the associated lock pointer independent of lockdep in the
           seqcount and changing the reader side to block on the lock when a
           reader detects that a writer is in the write side critical section.
      
         - Conversion of seqcount usage sites to associated types and
           initializers"
      
      * tag 'locking-urgent-2020-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        locking/seqlock, headers: Untangle the spaghetti monster
        locking, arch/ia64: Reduce <asm/smp.h> header dependencies by moving XTP bits into the new <asm/xtp.h> header
        x86/headers: Remove APIC headers from <asm/smp.h>
        seqcount: More consistent seqprop names
        seqcount: Compress SEQCNT_LOCKNAME_ZERO()
        seqlock: Fold seqcount_LOCKNAME_init() definition
        seqlock: Fold seqcount_LOCKNAME_t definition
        seqlock: s/__SEQ_LOCKDEP/__SEQ_LOCK/g
        hrtimer: Use sequence counter with associated raw spinlock
        kvm/eventfd: Use sequence counter with associated spinlock
        userfaultfd: Use sequence counter with associated spinlock
        NFSv4: Use sequence counter with associated spinlock
        iocost: Use sequence counter with associated spinlock
        raid5: Use sequence counter with associated spinlock
        vfs: Use sequence counter with associated spinlock
        timekeeping: Use sequence counter with associated raw spinlock
        xfrm: policy: Use sequence counters with associated lock
        netfilter: nft_set_rbtree: Use sequence counter with associated rwlock
        netfilter: conntrack: Use sequence counter with associated spinlock
        sched: tasks: Use sequence counter with associated spinlock
        ...
      97d052ea
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 086ba2ec
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've added two small interfaces: (a) GC_URGENT_LOW
        mode for performance and (b) F2FS_IOC_SEC_TRIM_FILE ioctl for
        security.
      
        The new GC mode allows Android to run some lower priority GCs in
        background, while new ioctl discards user information without race
        condition when the account is removed.
      
        In addition, some patches were merged to address latency-related
        issues. We've fixed some compression-related bug fixes as well as edge
        race conditions.
      
        Enhancements:
         - add GC_URGENT_LOW mode in gc_urgent
         - introduce F2FS_IOC_SEC_TRIM_FILE ioctl
         - bypass racy readahead to improve read latencies
         - shrink node_write lock coverage to avoid long latency
      
        Bug fixes:
         - fix missing compression flag control, i_size, and mount option
         - fix deadlock between quota writes and checkpoint
         - remove inode eviction path in synchronous path to avoid deadlock
         - fix to wait GCed compressed page writeback
         - fix a kernel panic in f2fs_is_compressed_page
         - check page dirty status before writeback
         - wait page writeback before update in node page write flow
         - fix a race condition between f2fs_write_end_io and f2fs_del_fsync_node_entry
      
        We've added some minor sanity checks and refactored trivial code
        blocks for better readability and debugging information"
      
      * tag 'f2fs-for-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (52 commits)
        f2fs: prepare a waiter before entering io_schedule
        f2fs: update_sit_entry: Make the judgment condition of f2fs_bug_on more intuitive
        f2fs: replace test_and_set/clear_bit() with set/clear_bit()
        f2fs: make file immutable even if releasing zero compression block
        f2fs: compress: disable compression mount option if compression is off
        f2fs: compress: add sanity check during compressed cluster read
        f2fs: use macro instead of f2fs verity version
        f2fs: fix deadlock between quota writes and checkpoint
        f2fs: correct comment of f2fs_exist_written_data
        f2fs: compress: delay temp page allocation
        f2fs: compress: fix to update isize when overwriting compressed file
        f2fs: space related cleanup
        f2fs: fix use-after-free issue
        f2fs: Change the type of f2fs_flush_inline_data() to void
        f2fs: add F2FS_IOC_SEC_TRIM_FILE ioctl
        f2fs: should avoid inode eviction in synchronous path
        f2fs: segment.h: delete a duplicated word
        f2fs: compress: fix to avoid memory leak on cc->cpages
        f2fs: use generic names for generic ioctls
        f2fs: don't keep meta inode pages used for compressed block migration
        ...
      086ba2ec
    • Linus Torvalds's avatar
      Merge tag 'gfs2-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 8c2618a6
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - Make sure transactions won't be started recursively in
         gfs2_block_zero_range (bug introduced in 5.4 when switching to
         iomap_zero_range)
      
       - Fix a glock holder refcount leak introduced in the iopen glock
         locking scheme rework merged in 5.8.
      
       - A few other small improvements (debugging, stack usage, comment
         fixes).
      
      * tag 'gfs2-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: When gfs2_dirty_inode gets a glock error, dump the glock
        gfs2: Never call gfs2_block_zero_range with an open transaction
        gfs2: print details on transactions that aren't properly ended
        gfs2: Fix inaccurate comment
        fs: Fix typo in comment
        gfs2: Fix refcount leak in gfs2_glock_poke
        gfs2: Pass glock holder to gfs2_file_direct_{read,write}
        gfs2: Add some flags missing from glock output
      8c2618a6
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 163c3e3d
      Linus Torvalds authored
      Pull JFFS2, UBI and UBIFS updates from Richard Weinberger:
       "JFFS2:
         - Fix for a corner case while mounting
         - Fix for an use-after-free issue
      
        UBI:
         - Fix for a memory load while attaching
         - Don't produce an anchor PEB with fastmap being disabled
      
        UBIFS:
         - Fix for orphan inode logic
         - Spelling fixes
         - New mount option to specify filesystem version"
      
      * tag 'for-linus-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        jffs2: fix UAF problem
        jffs2: fix jffs2 mounting failure
        ubifs: Fix wrong orphan node deletion in ubifs_jnl_update|rename
        ubi: fastmap: Free fastmap next anchor peb during detach
        ubi: fastmap: Don't produce the initial next anchor PEB when fastmap is disabled
        ubifs: misc.h: delete a duplicated word
        ubifs: add option to specify version for new file systems
      163c3e3d
  4. 10 Aug, 2020 5 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 4bcf69e5
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - an update to Elan touchpad controller driver supporting newer ICs
         with enhanced precision reports and a new firmware update process
      
       - an update to EXC3000 touch controller supporting additional parts
      
       - assorted driver fixups
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (27 commits)
        Input: exc3000 - add support to query model and fw_version
        Input: exc3000 - add reset gpio support
        Input: exc3000 - add EXC80H60 and EXC80H84 support
        dt-bindings: touchscreen: Convert EETI EXC3000 touchscreen to json-schema
        Input: sentelic - fix error return when fsp_reg_write fails
        Input: alps - remove redundant assignment to variable ret
        Input: ims-pcu - return error code rather than -ENOMEM
        Input: elan_i2c - add ic type 0x15
        Input: atmel_mxt_ts - only read messages in mxt_acquire_irq() when necessary
        Input: uinput - fix typo in function name documentation
        Input: ati_remote2 - add missing newlines when printing module parameters
        Input: psmouse - add a newline when printing 'proto' by sysfs
        Input: synaptics-rmi4 - drop a duplicated word
        Input: elan_i2c - add support for high resolution reports
        Input: elan_i2c - do not constantly re-query pattern ID
        Input: elan_i2c - add firmware update info for ICs 0x11, 0x13, 0x14
        Input: elan_i2c - handle firmware updated on newer ICs
        Input: elan_i2c - add support for different firmware page sizes
        Input: elan_i2c - fix detecting IAP version on older controllers
        Input: elan_i2c - handle devices with patterns above 1
        ...
      4bcf69e5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · b7b8e368
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - fix for some modern devices that return multi-byte battery report,
         from Grant Likely
      
       - fix for devices with Resolution Multiplier, from Peter Hutterer
      
       - device probing speed increase, from Dmitry Torokhov
      
       - ThinkPad 10 Ultrabook Keyboard support, from Hans de Goede
      
       - other small assorted fixes and device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
        HID: quirks: add NOGET quirk for Logitech GROUP
        HID: Replace HTTP links with HTTPS ones
        HID: udraw-ps3: Replace HTTP links with HTTPS ones
        HID: mcp2221: Replace HTTP links with HTTPS ones
        HID: input: Fix devices that return multiple bytes in battery report
        HID: lenovo: Fix spurious F23 key press report during resume from suspend
        HID: lenovo: Add ThinkPad 10 Ultrabook Keyboard fn_lock support
        HID: lenovo: Add ThinkPad 10 Ultrabook Keyboard support
        HID: lenovo: Rename fn_lock sysfs attr handlers to make them generic
        HID: lenovo: Factor out generic parts of the LED code
        HID: lenovo: Merge tpkbd and cptkbd data structures
        HID: intel-ish-hid: Replace PCI_DEV_FLAGS_NO_D3 with pci_save_state
        HID: Wiimote: Treat the d-pad as an analogue stick
        HID: input: do not run GET_REPORT unless there's a Resolution Multiplier
        HID: usbhid: remove redundant assignment to variable retval
        HID: usbhid: do not sleep when opening device
      b7b8e368
    • Colin Ian King's avatar
      ff131eff
    • Steven Rostedt (VMware)'s avatar
      ktest.pl: Change the logic to control the size of the log file emailed · 855d8abd
      Steven Rostedt (VMware) authored
      If the log file for a given test is larger than the max size given then use
      set the seek from the end of the log file instead of from the start of the
      test.
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      855d8abd
    • Michael S. Tsirkin's avatar
      vdpa/mlx5: fix up endian-ness for mtu · 8a7c3213
      Michael S. Tsirkin authored
      VDPA mlx5 accesses config space as native endian - this is
      wrong since it's a modern device and actually uses LE.
      
      It only supports modern guests so we could punt and
      just force LE, but let's use the full virtio APIs since people
      tend to copy/paste code, and this is not data path anyway.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      8a7c3213