Skip to content
  1. Nov 02, 2018
    • Linus Torvalds's avatar
      Merge branch 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu · 6444ccfd
      Linus Torvalds authored
      Pull percpu fixes from Dennis Zhou:
       "Two small things for v4.20.
      
        The first fixes a clang uninitialized variable warning for arm64 in
        the default path calls BUILD_BUG(). The second removes an unnecessary
        unlikely() in a WARN_ON() use"
      
      * 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
        arm64: percpu: Initialize ret in the default case
        mm: percpu: remove unnecessary unlikely()
      6444ccfd
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 82aa4671
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) BPF verifier fixes from Daniel Borkmann.
      
       2) HNS driver fixes from Huazhong Tan.
      
       3) FDB only works for ethernet devices, reject attempts to install FDB
          rules for others. From Ido Schimmel.
      
       4) Fix spectre V1 in vhost, from Jason Wang.
      
       5) Don't pass on-stack object to irq_set_affinity_hint() in mvpp2
          driver, from Marc Zyngier.
      
       6) Fix mlx5e checksum handling when RXFCS is enabled, from Eric
          Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (49 commits)
        openvswitch: Fix push/pop ethernet validation
        net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules
        bpf: test make sure to run unpriv test cases in test_verifier
        bpf: add various test cases to test_verifier
        bpf: don't set id on after map lookup with ptr_to_map_val return
        bpf: fix partial copy of map_ptr when dst is scalar
        libbpf: Fix compile error in libbpf_attach_type_by_name
        kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists
        selftests: mlxsw: qos_mc_aware: Add a test for UC awareness
        selftests: mlxsw: qos_mc_aware: Tweak for min shaper
        mlxsw: spectrum: Set minimum shaper on MC TCs
        mlxsw: reg: QEEC: Add minimum shaper fields
        net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset()
        net: hns3: bugfix for rtnl_lock's range in the hclge_reset()
        net: hns3: bugfix for handling mailbox while the command queue reinitialized
        net: hns3: fix incorrect return value/type of some functions
        net: hns3: bugfix for hclge_mdio_write and hclge_mdio_read
        net: hns3: bugfix for is_valid_csq_clean_head()
        net: hns3: remove unnecessary queue reset in the hns3_uninit_all_ring()
        net: hns3: bugfix for the initialization of command queue's spin lock
        ...
      82aa4671
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · ffb845db
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
       "Two small fixes"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Wire up compat getpeername and getsockname.
        sparc64: Remvoe set_fs() from perf_callchain_user().
      ffb845db
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-4.20-fixup-dtb' of https://github.com/c-sky/csky-linux · 5c99a8d1
      Linus Torvalds authored
      Pull csky dtb fixups from Guo Ren:
       "These fix the csky dtb Kbuild to follow the new Devicetree dtb build
        rules"
      
      * tag 'csky-for-linus-4.20-fixup-dtb' of https://github.com/c-sky/csky-linux:
        csky: use common dtb build rules
        csky: remove builtin-dtb Kbuild
      5c99a8d1
  2. Nov 01, 2018
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.20-1' of git://git.infradead.org/linux-platform-drivers-x86 · eb7046e9
      Linus Torvalds authored
      Pull x86 platform driver updates from Darren Hart:
      
       - Move the Dell dcdbas and dell_rbu drivers into platform/drivers/x86
         as they are closely coupled with other drivers in this location.
      
       - Improve _init* usage for acerhdf and fix some usage issues with
         messages and module parameters.
      
       - Simplify asus-wmi by calling ACPI/WMI methods directly, eliminating
         workqueue overhead, eliminate double reporting of keyboard backlight.
      
       - Fix wake from USB failure on Bay Trail devices (intel_int0002_vgpio).
      
       - Notify intel_telemetry users when IPC1 device is not enabled.
      
       - Update various drivers with new laptop model IDs.
      
       - Update several intel drivers to use SPDX identifers and order headers
         alphabetically.
      
      * tag 'platform-drivers-x86-v4.20-1' of git://git.infradead.org/linux-platform-drivers-x86: (64 commits)
        HID: asus: only support backlight when it's not driven by WMI
        platform/x86: asus-wmi: export function for evaluating WMI methods
        platform/x86: asus-wmi: Only notify kbd LED hw_change by fn-key pressed
        platform/x86: wmi: declare device_type structure as constant
        platform/x86: ideapad: Add Y530-15ICH to no_hw_rfkill
        platform/x86: Add Intel AtomISP2 dummy / power-management driver
        platform/x86: touchscreen_dmi: Add min-x and min-y settings for various models
        platform/x86: touchscreen_dmi: Add info for the Onda V80 Plus v3 tablet
        platform/x86: touchscreen_dmi: Add info for the Trekstor Primetab T13B tablet
        platform/x86: intel_telemetry: Get rid of custom macro
        platform/x86: intel_telemetry: report debugfs failure
        MAINTAINERS: intel_telemetry: Update maintainers info
        platform/x86: Add LG Gram laptop special features driver
        platform/x86: asus-wmi: Simplify the keyboard brightness updating process
        platform/x86: touchscreen_dmi: Add info for the Trekstor Primebook C11 convertible
        platform/x86: mlx-platform: Properly use mlxplat_mlxcpld_msn201x_items
        MAINTAINERS: intel_pmc_core: Update MAINTAINERS
        firmware: dcdbas: include linux/io.h
        platform/x86: intel-wmi-thunderbolt: Add dynamic debugging
        platform/x86: intel-wmi-thunderbolt: Convert to use SPDX identifier
        ...
      eb7046e9
    • Guo Ren's avatar
      csky: use common dtb build rules · e8d0c9a7
      Guo Ren authored
      Remove the Kbuild rules in arch/csky and use common dtb build rules.
      
      This modification is based on:
      
      commit 37c8a5fa
      
       ("kbuild: consolidate Devicetree dtb build rules")
      
      Signed-off-by: default avatarGuo Ren <ren_guo@c-sky.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      e8d0c9a7
    • Guo Ren's avatar
      csky: remove builtin-dtb Kbuild · c4c14c3b
      Guo Ren authored
      
      
      Remove the builtin-dtb implementation in arch/csky.
      
      Signed-off-by: default avatarGuo Ren <ren_guo@c-sky.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      c4c14c3b
    • Jaime Caamaño Ruiz's avatar
      openvswitch: Fix push/pop ethernet validation · 46ebe283
      Jaime Caamaño Ruiz authored
      When there are both pop and push ethernet header actions among the
      actions to be applied to a packet, an unexpected EINVAL (Invalid
      argument) error is obtained. This is due to mac_proto not being reset
      correctly when those actions are validated.
      
      Reported-at:
      https://mail.openvswitch.org/pipermail/ovs-discuss/2018-October/047554.html
      Fixes: 91820da6
      
       ("openvswitch: add Ethernet push and pop actions")
      Signed-off-by: default avatarJaime Caamaño Ruiz <jcaamano@suse.com>
      Tested-by: default avatarGreg Rose <gvrose8192@gmail.com>
      Reviewed-by: default avatarGreg Rose <gvrose8192@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      46ebe283
    • Niklas Cassel's avatar
      net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules · 30549aab
      Niklas Cassel authored
      
      
      When building stmmac, it is only possible to select CONFIG_DWMAC_GENERIC,
      or any of the glue drivers, when CONFIG_STMMAC_PLATFORM is set.
      The only exception is CONFIG_STMMAC_PCI.
      
      When calling of_mdiobus_register(), it will call our ->reset()
      callback, which is set to stmmac_mdio_reset().
      
      Most of the code in stmmac_mdio_reset() is protected by a
      "#if defined(CONFIG_STMMAC_PLATFORM)", which will evaluate
      to false when CONFIG_STMMAC_PLATFORM=m.
      
      Because of this, the phy reset gpio will only be pulled when
      stmmac is built as built-in, but not when built as modules.
      
      Fix this by using "#if IS_ENABLED()" instead of "#if defined()".
      
      Signed-off-by: default avatarNiklas Cassel <niklas.cassel@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      30549aab
    • David S. Miller's avatar
      sparc64: Wire up compat getpeername and getsockname. · 1f2b5b8e
      David S. Miller authored
      Fixes: 8b30ca73
      
       ("sparc: Add all necessary direct socket system calls.")
      Reported-by: default avatarJoseph Myers <joseph@codesourcery.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1f2b5b8e
    • David S. Miller's avatar
      Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue · 4d3163cf
      David S. Miller authored
      
      
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2018-10-31
      
      This series contains a various collection of fixes.
      
      Miroslav Lichvar from Red Hat or should I say IBM now?  Updates the PHC
      timecounter interval for igb so that it gets updated at least once
      every 550 seconds.
      
      Ngai-Mint provides a fix for fm10k to prevent a soft lockup or system
      crash by adding a new condition to determine if the SM mailbox is in the
      correct state before proceeding.
      
      Jake provides several fm10k fixes, first one marks complier aborts as
      non-fatal since on some platforms trigger machine check errors when the
      compile aborts.  Added missing device ids to the in-kernel driver.  Due
      to the recent fixes, bumped the driver version.
      
      I (Jeff Kirsher) fixed a XFRM_ALGO dependency for both ixgbe and
      ixgbevf.  This fix was based on the original work from Arnd Bergmann,
      which only fixed ixgbe.
      
      Mitch provides a fix for i40e/avf to update the status codes, which
      resolves an issue between a mis-match between i40e and the iavf driver,
      which also supports the ice LAN driver.
      
      Radoslaw fixes the ixgbe where the driver is logging a message about
      spoofed packets detected when the VF is re-started with a different MAC
      address.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d3163cf
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · df975da4
      David S. Miller authored
      
      
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf 2018-11-01
      
      The following pull-request contains BPF updates for your *net* tree.
      
      The main changes are:
      
      1) Fix tcp_bpf_recvmsg() to return -EAGAIN instead of 0 in non-blocking
         case when no data is available yet, from John.
      
      2) Fix a compilation error in libbpf_attach_type_by_name() when compiled
         with clang 3.8, from Andrey.
      
      3) Fix a partial copy of map pointer on scalar alu and remove id
         generation for RET_PTR_TO_MAP_VALUE return types, from Daniel.
      
      4) Add unlimited memlock limit for kernel selftest's flow_dissector_load
         program, from Yonghong.
      
      5) Fix ping for some BPF shell based kselftests where distro does not
         ship "ping -6" anymore, from Li.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      df975da4
    • Alexei Starovoitov's avatar
      Merge branch 'verifier-fixes' · dfeb8f4c
      Alexei Starovoitov authored
      
      
      Daniel Borkmann says:
      
      ====================
      The series contains two fixes in BPF core and test cases. For details
      please see individual patches. Thanks!
      ====================
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      dfeb8f4c
    • Daniel Borkmann's avatar
      bpf: test make sure to run unpriv test cases in test_verifier · 832c6f2c
      Daniel Borkmann authored
      
      
      Right now unprivileged tests are never executed as a BPF test run,
      only loaded. Allow for running them as well so that we can check
      the outcome and probe for regressions.
      
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      832c6f2c
    • Daniel Borkmann's avatar
      bpf: add various test cases to test_verifier · 2683f412
      Daniel Borkmann authored
      
      
      Add some more map related test cases to test_verifier kselftest
      to improve test coverage. Summary: 1012 PASSED, 0 SKIPPED, 0 FAILED
      
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      2683f412
    • Daniel Borkmann's avatar
      bpf: don't set id on after map lookup with ptr_to_map_val return · 4d31f301
      Daniel Borkmann authored
      In the verifier there is no such semantics where registers with
      PTR_TO_MAP_VALUE type have an id assigned to them. This is only
      used in PTR_TO_MAP_VALUE_OR_NULL and later on nullified once the
      test against NULL has been pattern matched and type transformed
      into PTR_TO_MAP_VALUE.
      
      Fixes: 3e6a4b3e
      
       ("bpf/verifier: introduce BPF_PTR_TO_MAP_VALUE")
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Cc: Roman Gushchin <guro@fb.com>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      4d31f301
    • Daniel Borkmann's avatar
      bpf: fix partial copy of map_ptr when dst is scalar · 0962590e
      Daniel Borkmann authored
      ALU operations on pointers such as scalar_reg += map_value_ptr are
      handled in adjust_ptr_min_max_vals(). Problem is however that map_ptr
      and range in the register state share a union, so transferring state
      through dst_reg->range = ptr_reg->range is just buggy as any new
      map_ptr in the dst_reg is then truncated (or null) for subsequent
      checks. Fix this by adding a raw member and use it for copying state
      over to dst_reg.
      
      Fixes: f1174f77
      
       ("bpf/verifier: rework value tracking")
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Cc: Edward Cree <ecree@solarflare.com>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      0962590e
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v4.20' of... · 5b744981
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform
      
      Pull chrome-platform updates from Benson Leung:
      
       - Move mfd/cros_ec_lpc* includes to drivers/platform from mfd
      
       - Adding a new interrupt path for cros_ec_lpc
      
      * tag 'tag-chrome-platform-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform:
        platform/chrome: chromeos_tbmc - Remove unneeded const
        platform/chrome: Add a new interrupt path for cros_ec_lpc
        mfd: cros_ec: Fix and improve kerneldoc comments.
        platform/chrome: Move mfd/cros_ec_lpc* includes to drivers/platform.
      5b744981
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-4.20-mw2' of... · 3dca04d6
      Linus Torvalds authored
      Merge tag 'riscv-for-linus-4.20-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
      
      Pull more RISC-V updates from Palmer Dabbelt:
       "This contains the follow-on patches I'd like to target for the 4.20
        merge window. I'm being somewhat conservative here, as while there are
        a few patches on the mailing list that were posted early in the merge
        window I'd like to let those bake for another round -- this was a
        fairly big release as far as RISC-V is concerened, and we need to walk
        before we can run.
      
        As far as the patches that made it go:
      
         - A patch to ignore offline CPUs when calculating AT_HWCAP. This
           should fix GDB on the HiFive unleashed, which has an embedded core
           for hart 0 which is exposed to Linux as an offline CPU.
      
         - A move of EM_RISCV to elf-em.h, which is where it should have been
           to begin with.
      
         - I've also removed the 64-bit divide routines. I know I'm not really
           playing by my own rules here because I posted the patches this
           morning, but since they shouldn't be in the kernel I think it's
           better to err on the side of going too fast here.
      
        I don't anticipate any more patch sets for the merge window"
      
      * tag 'riscv-for-linus-4.20-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
        Move EM_RISCV into elf-em.h
        RISC-V: properly determine hardware caps
        Revert "lib: Add umoddi3 and udivmoddi4 of GCC library routines"
        Revert "RISC-V: Select GENERIC_LIB_UMODDI3 on RV32"
      3dca04d6
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 9bb9d4fd
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - removal of old and dead code
      
       - a bug fix for our tty driver
      
       - other minor cleanups across the code base
      
      * 'for-linus-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Make line/tty semantics use true write IRQ
        um: trap: fix spelling mistake, EACCESS -> EACCES
        um: Don't hardcode path as it is architecture dependent
        um: NULL check before kfree is not needed
        um: remove unused AIO code
        um: Give start_idle_thread() a return code
        um: Remove update_debugregs()
        um: Drop own definition of PTRACE_SYSEMU/_SINGLESTEP
      9bb9d4fd
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · adb6b2b2
      Linus Torvalds authored
      Pull c6x update from Mark Salter.
      
      * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        c6x: switch to NO_BOOTMEM
      adb6b2b2
    • Andrey Ignatov's avatar
      libbpf: Fix compile error in libbpf_attach_type_by_name · 36153532
      Andrey Ignatov authored
      Arnaldo Carvalho de Melo reported build error in libbpf when clang
      version 3.8.1-24 (tags/RELEASE_381/final) is used:
      
      libbpf.c:2201:36: error: comparison of constant -22 with expression of
      type 'const enum bpf_attach_type' is always false
      [-Werror,-Wtautological-constant-out-of-range-compare]
                      if (section_names[i].attach_type == -EINVAL)
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~
      1 error generated.
      
      Fix the error by keeping "is_attachable" property of a program in a
      separate struct field instead of trying to use attach_type itself.
      
      Fixes: 956b620f
      
       ("libbpf: Introduce libbpf_attach_type_by_name")
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@kernel.org>
      Signed-off-by: default avatarAndrey Ignatov <rdna@fb.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      36153532
    • Li Zhijian's avatar
      kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists · deee2cae
      Li Zhijian authored
      
      
      ping binary on some distros doesn't support "ping -6" anymore.
      
      Signed-off-by: default avatarLi Zhijian <lizhijian@cn.fujitsu.com>
      Acked-by: default avatarSong Liu <songliubraving@fb.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      deee2cae
    • Linus Torvalds's avatar
      Merge tag 'fuse-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 9b5cf826
      Linus Torvalds authored
      Pull fuse updates from Miklos Szeredi:
       "As well as the usual bug fixes, this adds the following new features:
      
         - cached readdir and readlink
      
         - max I/O size increased from 128k to 1M
      
         - improved performance and scalability of request queues
      
         - copy_file_range support
      
        The only non-fuse bits are trivial cleanups of macros in
        <linux/bitops.h>"
      
      * tag 'fuse-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (31 commits)
        fuse: enable caching of symlinks
        fuse: only invalidate atime in direct read
        fuse: don't need GETATTR after every READ
        fuse: allow fine grained attr cache invaldation
        bitops: protect variables in bit_clear_unless() macro
        bitops: protect variables in set_mask_bits() macro
        fuse: realloc page array
        fuse: add max_pages to init_out
        fuse: allocate page array more efficiently
        fuse: reduce size of struct fuse_inode
        fuse: use iversion for readdir cache verification
        fuse: use mtime for readdir cache verification
        fuse: add readdir cache version
        fuse: allow using readdir cache
        fuse: allow caching readdir
        fuse: extract fuse_emit() helper
        fuse: add FOPEN_CACHE_DIR
        fuse: split out readdir.c
        fuse: Use hash table to link processing request
        fuse: kill req->intr_unique
        ...
      9b5cf826
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.20-rc1' of git://github.com/ceph/ceph-client · 31990f0f
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "The highlights are:
      
         - a series that fixes some old memory allocation issues in libceph
           (myself). We no longer allocate memory in places where allocation
           failures cannot be handled and BUG when the allocation fails.
      
         - support for copy_file_range() syscall (Luis Henriques). If size and
           alignment conditions are met, it leverages RADOS copy-from
           operation. Otherwise, a local copy is performed.
      
         - a patch that reduces memory requirement of ceph_sync_read() from
           the size of the entire read to the size of one object (Zheng Yan).
      
         - fallocate() syscall is now restricted to FALLOC_FL_PUNCH_HOLE (Luis
           Henriques)"
      
      * tag 'ceph-for-4.20-rc1' of git://github.com/ceph/ceph-client: (25 commits)
        ceph: new mount option to disable usage of copy-from op
        ceph: support copy_file_range file operation
        libceph: support the RADOS copy-from operation
        ceph: add non-blocking parameter to ceph_try_get_caps()
        libceph: check reply num_data_items in setup_request_data()
        libceph: preallocate message data items
        libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls
        libceph: introduce alloc_watch_request()
        libceph: assign cookies in linger_submit()
        libceph: enable fallback to ceph_msg_new() in ceph_msgpool_get()
        ceph: num_ops is off by one in ceph_aio_retry_work()
        libceph: no need to call osd_req_opcode_valid() in osd_req_encode_op()
        ceph: set timeout conditionally in __cap_delay_requeue
        libceph: don't consume a ref on pagelist in ceph_msg_data_add_pagelist()
        libceph: introduce ceph_pagelist_alloc()
        libceph: osd_req_op_cls_init() doesn't need to take opcode
        libceph: bump CEPH_MSG_MAX_DATA_LEN
        ceph: only allow punch hole mode in fallocate
        ceph: refactor ceph_sync_read()
        ceph: check if LOOKUPNAME request was aborted when filling trace
        ...
      31990f0f
    • David S. Miller's avatar
      Merge branch 'mlxsw-Enable-minimum-shaper-on-MC-TCs' · e2acdddd
      David S. Miller authored
      Ido Schimmel says:
      
      ====================
      mlxsw: Enable minimum shaper on MC TCs
      
      Petr says:
      
      An MC-aware mode was introduced in commit 7b819530
      
       ("mlxsw:
      spectrum: Configure MC-aware mode on mlxsw ports"). In MC-aware mode,
      BUM traffic gets a special treatment by being assigned to a separate set
      of traffic classes 8..15. Pairs of TCs 0 and 8, 1 and 9, etc., are then
      configured to strictly prioritize the lower-numbered ones. The intention
      is to prevent BUM traffic from flooding the switch and push out all UC
      traffic, which would otherwise happen, and instead give UC traffic
      precedence.
      
      However strictly prioritizing UC traffic has the effect that UC overload
      pushes out all BUM traffic, such as legitimate ARP queries. These
      packets are kept in queues for a while, but under sustained UC overload,
      their lifetime eventually expires and these packets are dropped. That is
      detrimental to network performance as well.
      
      In this patchset, MC TCs (8..15) are configured with minimum shaper of
      200Mbps (a minimum permitted value) to allow a trickle of necessary
      control traffic to get through.
      
      First in patch #1, the QEEC register is extended with fields necessary
      to configure the minimum shaper.
      
      In patch #2, minimum shaper is enabled on TCs 8..15.
      
      In patches #3 and #4, first the MC-awareness test is tweaked to support
      the minimum shaper, and then a new test is introduced to test that MC
      traffic behaves well under UC overload.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e2acdddd
    • Petr Machata's avatar
      selftests: mlxsw: qos_mc_aware: Add a test for UC awareness · a5ee171d
      Petr Machata authored
      In a previous patch, mlxsw was updated to configure a minimum bandwidth
      allowance on MC TCs. Test that this indeed fixes the problem of UC
      traffic overload pushing out all MC traffic.
      
      Fixes: b5638d46
      
       ("selftests: mlxsw: Add a test for UC behavior under MC flood")
      Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a5ee171d
    • Petr Machata's avatar
      selftests: mlxsw: qos_mc_aware: Tweak for min shaper · 8f3f0935
      Petr Machata authored
      Since the minimum shaper is now being enabled for MC TCs, it's
      unreasonable to expect no UC traffic loss. Minimal min shaper value is
      200Mbps, which is 20% of the 1Gbps that this test configures on egress.
      To cover for glitches, tolerate up to 25% UC degradation under MC
      overload.
      
      Fixes: b5638d46
      
       ("selftests: mlxsw: Add a test for UC behavior under MC flood")
      Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8f3f0935
    • Petr Machata's avatar
      mlxsw: spectrum: Set minimum shaper on MC TCs · 0fe64023
      Petr Machata authored
      An MC-aware mode was introduced in commit 7b819530 ("mlxsw:
      spectrum: Configure MC-aware mode on mlxsw ports"). In MC-aware mode,
      BUM traffic gets a special treatment by being assigned to a separate set
      of traffic classes 8..15. Pairs of TCs 0 and 8, 1 and 9, etc., are then
      configured to strictly prioritize the lower-numbered ones. The intention
      is to prevent BUM traffic from flooding the switch and push out all UC
      traffic, which would otherwise happen, and instead give UC traffic
      precedence.
      
      However strictly prioritizing UC traffic has the effect that UC overload
      pushes out all BUM traffic, such as legitimate ARP queries. These
      packets are kept in queues for a while, but under sustained UC overload,
      their lifetime eventually expires and these packets are dropped. That is
      detrimental to network performance as well.
      
      Therefore configure the MC TCs (8..15) with minimum shaper of 200Mbps (a
      minimum permitted value) to allow a trickle of necessary control traffic
      to get through.
      
      Fixes: 7b819530
      
       ("mlxsw: spectrum: Configure MC-aware mode on mlxsw ports")
      Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0fe64023
    • Petr Machata's avatar
      mlxsw: reg: QEEC: Add minimum shaper fields · 8b931821
      Petr Machata authored
      Add QEEC.mise (minimum shaper enable) and QEEC.min_shaper_rate to enable
      configuration of minimum shaper.
      
      Increase the QEEC length to 0x20 as well: that's the length that the
      register has had for a long time now, but with the configurations that
      mlxsw typically exercises, the firmware tolerated 0x1C-sized packets.
      With mise=true however, FW rejects packets unless they have the full
      required length.
      
      Fixes: b9b7cee4
      
       ("mlxsw: reg: Add QoS ETS Element Configuration register")
      Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8b931821
    • David S. Miller's avatar
      Merge branch 'hns3-fixes' · c4d63c71
      David S. Miller authored
      Huazhong Tan says:
      
      ====================
      Bugfix for the HNS3 driver
      
      This patch series include bugfix for the HNS3 ethernet
      controller driver.
      
      Change log:
      V4->V5:
      	Fixes comments from Joe Perches & Sergei Shtylyov
      V3->V4:
      	Fixes comments from Sergei Shtylyov
      V2->V3:
      	Fixes comments from Sergei Shtylyov
      V1->V2:
      	Fixes the compilation break reported by kbuild test robot
      	http://patchwork.ozlabs.org/patch/989818/
      
      
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c4d63c71
    • Huazhong Tan's avatar
      net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset() · 29118ab9
      Huazhong Tan authored
      Since hclgevf_reset_wait() is used to wait for the hardware to complete
      the reset, it is not necessary to hold the rtnl_lock during
      hclgevf_reset_wait(). So this patch releases the lock for the duration
      of hclgevf_reset_wait().
      
      Fixes: 6988eb2a
      
       ("net: hns3: Add support to reset the enet/ring mgmt layer")
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      29118ab9
    • Huazhong Tan's avatar
      net: hns3: bugfix for rtnl_lock's range in the hclge_reset() · a963052e
      Huazhong Tan authored
      Since hclge_reset_wait() is used to wait for the hardware to complete
      the reset, it is not necessary to hold the rtnl_lock during
      hclge_reset_wait(). So this patch releases the lock for the duration
      of hclge_reset_wait().
      
      Fixes: 6d4fab39
      
       ("net: hns3: Reset net device with rtnl_lock")
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a963052e
    • Huazhong Tan's avatar
      net: hns3: bugfix for handling mailbox while the command queue reinitialized · 3c88ed1d
      Huazhong Tan authored
      In a multi-core machine, the mailbox service and reset service
      will be executed at the same time. The reset service will re-initialize
      the command queue, before that, the mailbox handler can only get some
      invalid messages.
      
      The HCLGE_STATE_CMD_DISABLE flag means that the command queue is not
      available and needs to be reinitialized. Therefore, when the mailbox
      handler recognizes this flag, it should not process the command.
      
      Fixes: dde1a86e
      
       ("net: hns3: Add mailbox support to PF driver")
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3c88ed1d
    • Huazhong Tan's avatar
      net: hns3: fix incorrect return value/type of some functions · 7fa6be4f
      Huazhong Tan authored
      There are some functions that, when they fail to send the command,
      need to return the corresponding error value to its caller.
      
      Fixes: 46a3df9f ("net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support")
      Fixes: 681ec399
      
       ("net: hns3: fix for vlan table lost problem when resetting")
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7fa6be4f
    • Huazhong Tan's avatar
      net: hns3: bugfix for hclge_mdio_write and hclge_mdio_read · 1c124938
      Huazhong Tan authored
      When there is a PHY, the driver needs to complete some operations through
      MDIO during reset reinitialization, so HCLGE_STATE_CMD_DISABLE is more
      suitable than HCLGE_STATE_RST_HANDLING to prevent the MDIO operation from
      being sent during the hardware reset.
      
      Fixes: b50ae26c
      
       ("net: hns3: never send command queue message to IMP when reset)
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1c124938
    • Huazhong Tan's avatar
      net: hns3: bugfix for is_valid_csq_clean_head() · 6d71ec6c
      Huazhong Tan authored
      The HEAD pointer of the hardware command queue maybe equal to the command
      queue's next_to_use in the driver, so that does not belong to the invalid
      HEAD pointer, since the hardware may not process the command in time,
      causing the HEAD pointer to be too late to update. The variables' name
      in this function is unreadable, so give them a more readable one.
      
      Fixes: 3ff50490
      
       ("net: hns3: fix a dead loop in hclge_cmd_csq_clean")
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6d71ec6c
    • Huazhong Tan's avatar
      net: hns3: remove unnecessary queue reset in the hns3_uninit_all_ring() · 5faaf075
      Huazhong Tan authored
      It is not necessary to reset the queue in the hns3_uninit_all_ring(),
      since the queue is stopped in the down operation, and will be reset
      in the up operation. And the judgment of the HCLGE_STATE_RST_HANDLING
      flag in the hclge_reset_tqp() is not correct, because we need to reset
      tqp during pf reset, otherwise it may cause queue not being reset to
      working state problem.
      
      Fixes: 76ad4f0e
      
       ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5faaf075
    • Huazhong Tan's avatar
      net: hns3: bugfix for the initialization of command queue's spin lock · b2f74dba
      Huazhong Tan authored
      The spin lock of the command queue only need to be initialized once
      when the driver initializes the command queue. It is not necessary to
      initialize the spin lock when resetting. At the same time, the
      modification of the queue member should be performed after acquiring
      the lock.
      
      Fixes: 3efb960f
      
       ("net: hns3: Refactor the initialization of command queue")
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b2f74dba
    • Huazhong Tan's avatar
      net: hns3: bugfix for reporting unknown vector0 interrupt repeatly problem · 0d441140
      Huazhong Tan authored
      The current driver supports handling two vector0 interrupts, reset and
      mailbox. When the hardware reports an interrupt of another type of
      interrupt source, if the driver does not process the interrupt, but
      enables the interrupt, the hardware will repeatedly report the unknown
      interrupt.
      
      Therefore, the driver enables the vector0 interrupt after clearing the
      known type of interrupt source. Other conditions are not enabled.
      
      Fixes: cd8c5c26
      
       ("net: hns3: Fix for hclge_reset running repeatly problem")
      Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0d441140