1. 24 Apr, 2023 11 commits
  2. 23 Apr, 2023 27 commits
  3. 22 Apr, 2023 2 commits
    • Jakub Kicinski's avatar
      Merge tag 'mlx5-updates-2023-04-20' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · fbc1449d
      Jakub Kicinski authored
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2023-04-20
      
      1) Dragos Improves RX page pool, and provides some fixes to his previous
         series:
       1.1) Fix releasing page_pool for striding RQ and legacy RQ nonlinear case
       1.2) Hook NAPIs to page pools to gain more performance.
      
      2) From Roi, Some cleanups to TC and eswitch modules.
      
      3) Maher migrates vnic diagnostic counters reporting from debugfs to a
          dedicated devlink health reporter
      
      Maher Says:
      ===========
       net/mlx5: Expose vnic diagnostic counters using devlink
      
      Currently, vnic diagnostic counters are exposed through the following
      debugfs:
      
      $ ls /sys/kernel/debug/mlx5/0000:08:00.0/esw/vf_0/vnic_diag/
      cq_overrun
      quota_exceeded_command
      total_q_under_processor_handle
      invalid_command
      send_queue_priority_update_flow
      nic_receive_steering_discard
      
      The current design does not allow the hypervisor to view the diagnostic
      counters of its VFs, in case the VFs get bound to a VM. In other words,
      the counters are not exposed for representor interfaces.
      Furthermore, the debugfs design is inconvenient future-wise, in case more
      counters need to be reported by the driver in the future.
      
      As these counters pertain to vNIC health, it is more appropriate to
      utilize the devlink health reporter to expose them.
      
      Thus, this patchest includes the following changes:
      
      * Drop the current vnic diagnostic counters debugfs interface.
      * Add a vnic devlink health reporter for PFs/VFs core devices, which
        when diagnosed will dump vnic diagnostic counter values that are
        queried from FW.
      * Add a vnic devlink health reporter for the representor interface, which
        serves the same purpose listed in the previous point, in addition to
        allowing the hypervisor to view its VFs diagnostic counters, even when
        the VFs are bounded to external VMs.
      
      Example of devlink health reporter usage is:
      $devlink health diagnose pci/0000:08:00.0 reporter vnic
       vNIC env counters:
          total_error_queues: 0 send_queue_priority_update_flow: 0
          comp_eq_overrun: 0 async_eq_overrun: 0 cq_overrun: 0
          invalid_command: 0 quota_exceeded_command: 0
          nic_receive_steering_discard: 0
      
      ===========
      
      4) SW steering fixes and improvements
      
      Yevgeny Kliteynik Says:
      =======================
      These short patch series are just small fixes / improvements for
      SW steering:
      
       - Patch 1: Fix dumping of legacy modify_hdr in debug dump to
         align to what is expected by parser
       - Patch 2: Have separate threshold for ICM sync per ICM type
       - Patch 3: Add more info to the steering debug dump - Linux
         version and device name
       - Patch 4: Keep track of number of buddies that are currently
         in use per domain per buddy type
      
      =======================
      
      * tag 'mlx5-updates-2023-04-20' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        net/mlx5: Update op_mode to op_mod for port selection
        net/mlx5: E-Switch, Remove unused mlx5_esw_offloads_vport_metadata_set()
        net/mlx5: E-Switch, Remove redundant dev arg from mlx5_esw_vport_alloc()
        net/mlx5: Include linux/pci.h for pci_msix_can_alloc_dyn()
        net/mlx5e: RX, Hook NAPIs to page pools
        net/mlx5e: RX, Fix XDP_TX page release for legacy rq nonlinear case
        net/mlx5e: RX, Fix releasing page_pool pages twice for striding RQ
        net/mlx5e: Add vnic devlink health reporter to representors
        net/mlx5: Add vnic devlink health reporter to PFs/VFs
        Revert "net/mlx5: Expose vnic diagnostic counters for eswitch managed vports"
        Revert "net/mlx5: Expose steering dropped packets counter"
        net/mlx5: DR, Add memory statistics for domain object
        net/mlx5: DR, Add more info in domain dbg dump
        net/mlx5: DR, Calculate sync threshold of each pool according to its type
        net/mlx5: DR, Fix dumping of legacy modify_hdr in debug dump
      ====================
      
      Link: https://lore.kernel.org/r/20230421013850.349646-1-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      fbc1449d
    • Jakub Kicinski's avatar
      Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · 9a82cdc2
      Jakub Kicinski authored
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf-next 2023-04-21
      
      We've added 71 non-merge commits during the last 8 day(s) which contain
      a total of 116 files changed, 13397 insertions(+), 8896 deletions(-).
      
      The main changes are:
      
      1) Add a new BPF netfilter program type and minimal support to hook
         BPF programs to netfilter hooks such as prerouting or forward,
         from Florian Westphal.
      
      2) Fix race between btf_put and btf_idr walk which caused a deadlock,
         from Alexei Starovoitov.
      
      3) Second big batch to migrate test_verifier unit tests into test_progs
         for ease of readability and debugging, from Eduard Zingerman.
      
      4) Add support for refcounted local kptrs to the verifier for allowing
         shared ownership, useful for adding a node to both the BPF list and
         rbtree, from Dave Marchevsky.
      
      5) Migrate bpf_for(), bpf_for_each() and bpf_repeat() macros from BPF
        selftests into libbpf-provided bpf_helpers.h header and improve
        kfunc handling, from Andrii Nakryiko.
      
      6) Support 64-bit pointers to kfuncs needed for archs like s390x,
         from Ilya Leoshkevich.
      
      7) Support BPF progs under getsockopt with a NULL optval,
         from Stanislav Fomichev.
      
      8) Improve verifier u32 scalar equality checking in order to enable
         LLVM transformations which earlier had to be disabled specifically
         for BPF backend, from Yonghong Song.
      
      9) Extend bpftool's struct_ops object loading to support links,
         from Kui-Feng Lee.
      
      10) Add xsk selftest follow-up fixes for hugepage allocated umem,
          from Magnus Karlsson.
      
      11) Support BPF redirects from tc BPF to ifb devices,
          from Daniel Borkmann.
      
      12) Add BPF support for integer type when accessing variable length
          arrays, from Feng Zhou.
      
      * tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (71 commits)
        selftests/bpf: verifier/value_ptr_arith converted to inline assembly
        selftests/bpf: verifier/value_illegal_alu converted to inline assembly
        selftests/bpf: verifier/unpriv converted to inline assembly
        selftests/bpf: verifier/subreg converted to inline assembly
        selftests/bpf: verifier/spin_lock converted to inline assembly
        selftests/bpf: verifier/sock converted to inline assembly
        selftests/bpf: verifier/search_pruning converted to inline assembly
        selftests/bpf: verifier/runtime_jit converted to inline assembly
        selftests/bpf: verifier/regalloc converted to inline assembly
        selftests/bpf: verifier/ref_tracking converted to inline assembly
        selftests/bpf: verifier/map_ptr_mixing converted to inline assembly
        selftests/bpf: verifier/map_in_map converted to inline assembly
        selftests/bpf: verifier/lwt converted to inline assembly
        selftests/bpf: verifier/loops1 converted to inline assembly
        selftests/bpf: verifier/jeq_infer_not_null converted to inline assembly
        selftests/bpf: verifier/direct_packet_access converted to inline assembly
        selftests/bpf: verifier/d_path converted to inline assembly
        selftests/bpf: verifier/ctx converted to inline assembly
        selftests/bpf: verifier/btf_ctx_access converted to inline assembly
        selftests/bpf: verifier/bpf_get_stack converted to inline assembly
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20230421211035.9111-1-daniel@iogearbox.netSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9a82cdc2