Skip to content
Snippets Groups Projects
  1. Sep 12, 2024
  2. Sep 06, 2024
  3. Sep 03, 2024
  4. Aug 27, 2024
  5. Aug 26, 2024
  6. Aug 23, 2024
  7. Aug 12, 2024
  8. Aug 08, 2024
  9. Jul 25, 2024
  10. Jul 15, 2024
  11. Jul 08, 2024
  12. Jul 06, 2024
  13. Jul 01, 2024
  14. Jun 28, 2024
  15. Jun 26, 2024
    • Heng Qi's avatar
      ethtool: provide customized dim profile management · f750dfe8
      Heng Qi authored
      
      The NetDIM library, currently leveraged by an array of NICs, delivers
      excellent acceleration benefits. Nevertheless, NICs vary significantly
      in their dim profile list prerequisites.
      
      Specifically, virtio-net backends may present diverse sw or hw device
      implementation, making a one-size-fits-all parameter list impractical.
      On Alibaba Cloud, the virtio DPU's performance under the default DIM
      profile falls short of expectations, partly due to a mismatch in
      parameter configuration.
      
      I also noticed that ice/idpf/ena and other NICs have customized
      profilelist or placed some restrictions on dim capabilities.
      
      Motivated by this, I tried adding new params for "ethtool -C" that provides
      a per-device control to modify and access a device's interrupt parameters.
      
      Usage
      ========
      The target NIC is named ethx.
      
      Assume that ethx only declares support for rx profile setting
      (with DIM_PROFILE_RX flag set in profile_flags) and supports modification
      of usec and pkt fields.
      
      1. Query the currently customized list of the device
      
      $ ethtool -c ethx
      ...
      rx-profile:
      {.usec =   1, .pkts = 256, .comps = n/a,},
      {.usec =   8, .pkts = 256, .comps = n/a,},
      {.usec =  64, .pkts = 256, .comps = n/a,},
      {.usec = 128, .pkts = 256, .comps = n/a,},
      {.usec = 256, .pkts = 256, .comps = n/a,}
      tx-profile:   n/a
      
      2. Tune
      $ ethtool -C ethx rx-profile 1,1,n_2,n,n_3,3,n_4,4,n_n,5,n
      "n" means do not modify this field.
      $ ethtool -c ethx
      ...
      rx-profile:
      {.usec =   1, .pkts =   1, .comps = n/a,},
      {.usec =   2, .pkts = 256, .comps = n/a,},
      {.usec =   3, .pkts =   3, .comps = n/a,},
      {.usec =   4, .pkts =   4, .comps = n/a,},
      {.usec = 256, .pkts =   5, .comps = n/a,}
      tx-profile:   n/a
      
      3. Hint
      If the device does not support some type of customized dim profiles,
      the corresponding "n/a" will display.
      
      If the "n/a" field is being modified, -EOPNOTSUPP will be reported.
      
      Signed-off-by: default avatarHeng Qi <hengqi@linux.alibaba.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://patch.msgid.link/20240621101353.107425-4-hengqi@linux.alibaba.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f750dfe8
  16. Jun 23, 2024
  17. Jun 17, 2024
    • Lorenzo Bianconi's avatar
      NFSD: grab nfsd_mutex in nfsd_nl_rpc_status_get_dumpit() · da2c8fef
      Lorenzo Bianconi authored
      
      Grab nfsd_mutex lock in nfsd_nl_rpc_status_get_dumpit routine and remove
      nfsd_nl_rpc_status_get_start() and nfsd_nl_rpc_status_get_done(). This
      patch fix the syzbot log reported below:
      
      INFO: task syz-executor.1:17770 blocked for more than 143 seconds.
            Not tainted 6.10.0-rc3-syzkaller-00022-gcea2a26553ac #0
      "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      task:syz-executor.1  state:D stack:23800 pid:17770 tgid:17767 ppid:11381  flags:0x00000006
      Call Trace:
       <TASK>
       context_switch kernel/sched/core.c:5408 [inline]
       __schedule+0x17e8/0x4a20 kernel/sched/core.c:6745
       __schedule_loop kernel/sched/core.c:6822 [inline]
       schedule+0x14b/0x320 kernel/sched/core.c:6837
       schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:6894
       __mutex_lock_common kernel/locking/mutex.c:684 [inline]
       __mutex_lock+0x6a4/0xd70 kernel/locking/mutex.c:752
       nfsd_nl_listener_get_doit+0x115/0x5d0 fs/nfsd/nfsctl.c:2124
       genl_family_rcv_msg_doit net/netlink/genetlink.c:1115 [inline]
       genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]
       genl_rcv_msg+0xb16/0xec0 net/netlink/genetlink.c:1210
       netlink_rcv_skb+0x1e5/0x430 net/netlink/af_netlink.c:2564
       genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219
       netlink_unicast_kernel net/netlink/af_netlink.c:1335 [inline]
       netlink_unicast+0x7ec/0x980 net/netlink/af_netlink.c:1361
       netlink_sendmsg+0x8db/0xcb0 net/netlink/af_netlink.c:1905
       sock_sendmsg_nosec net/socket.c:730 [inline]
       __sock_sendmsg+0x223/0x270 net/socket.c:745
       ____sys_sendmsg+0x525/0x7d0 net/socket.c:2585
       ___sys_sendmsg net/socket.c:2639 [inline]
       __sys_sendmsg+0x2b0/0x3a0 net/socket.c:2668
       do_syscall_x64 arch/x86/entry/common.c:52 [inline]
       do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
       entry_SYSCALL_64_after_hwframe+0x77/0x7f
      RIP: 0033:0x7f24ed27cea9
      RSP: 002b:00007f24ee0080c8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
      RAX: ffffffffffffffda RBX: 00007f24ed3b3f80 RCX: 00007f24ed27cea9
      RDX: 0000000000000000 RSI: 0000000020000100 RDI: 0000000000000005
      RBP: 00007f24ed2ebff4 R08: 0000000000000000 R09: 0000000000000000
      R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
      
      Fixes: 1bd773b4 ("nfsd: hold nfsd_mutex across entire netlink operation")
      Fixes: bd9d6a3e ("NFSD: add rpc_status netlink support")
      Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      da2c8fef
  18. May 30, 2024
  19. May 13, 2024
  20. May 09, 2024
    • Donald Hunter's avatar
      netlink/specs: Add VF attributes to rt_link spec · e497c322
      Donald Hunter authored
      
      Add support for retrieving VFs as part of link info. For example:
      
      ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/rt_link.yaml \
        --do getlink --json '{"ifi-index": 38, "ext-mask": ["vf", "skip-stats"]}'
      {'address': 'b6:75:91:f2:64:65',
       [snip]
       'vfinfo-list': {'info': [{'broadcast': b'\xff\xff\xff\xff\xff\xff\x00\x00'
                                              b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                              b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                              b'\x00\x00\x00\x00\x00\x00\x00\x00',
                                 'link-state': {'link-state': 'auto', 'vf': 0},
                                 'mac': {'mac': b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                                b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                                b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                                b'\x00\x00\x00\x00\x00\x00\x00\x00',
                                         'vf': 0},
                                 'rate': {'max-tx-rate': 0,
                                          'min-tx-rate': 0,
                                          'vf': 0},
                                 'rss-query-en': {'setting': 0, 'vf': 0},
                                 'spoofchk': {'setting': 0, 'vf': 0},
                                 'trust': {'setting': 0, 'vf': 0},
                                 'tx-rate': {'rate': 0, 'vf': 0},
                                 'vlan': {'qos': 0, 'vf': 0, 'vlan': 0},
                                 'vlan-list': {'info': [{'qos': 0,
                                                         'vf': 0,
                                                         'vlan': 0,
                                                         'vlan-proto': 0}]}},
                                {'broadcast': b'\xff\xff\xff\xff\xff\xff\x00\x00'
                                              b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                              b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                              b'\x00\x00\x00\x00\x00\x00\x00\x00',
                                 'link-state': {'link-state': 'auto', 'vf': 1},
                                 'mac': {'mac': b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                                b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                                b'\x00\x00\x00\x00\x00\x00\x00\x00'
                                                b'\x00\x00\x00\x00\x00\x00\x00\x00',
                                         'vf': 1},
                                 'rate': {'max-tx-rate': 0,
                                          'min-tx-rate': 0,
                                          'vf': 1},
                                 'rss-query-en': {'setting': 0, 'vf': 1},
                                 'spoofchk': {'setting': 0, 'vf': 1},
                                 'trust': {'setting': 0, 'vf': 1},
                                 'tx-rate': {'rate': 0, 'vf': 1},
                                 'vlan': {'qos': 0, 'vf': 1, 'vlan': 0},
                                 'vlan-list': {'info': [{'qos': 0,
                                                         'vf': 1,
                                                         'vlan': 0,
                                                         'vlan-proto': 0}]}}]},
       'xdp': {'attached': 0}}
      
      Signed-off-by: default avatarDonald Hunter <donald.hunter@gmail.com>
      Link: https://lore.kernel.org/r/20240507103603.23017-1-donald.hunter@gmail.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e497c322
  21. May 07, 2024
  22. May 06, 2024
  23. Apr 30, 2024
    • Xuan Zhuo's avatar
      netdev: add queue stats · 0cfe71f4
      Xuan Zhuo authored
      
      These stats are commonly. Support reporting those via netdev-genl queue
      stats.
      
      name: rx-hw-drops
      name: rx-hw-drop-overruns
      name: rx-csum-unnecessary
      name: rx-csum-none
      name: rx-csum-bad
      name: rx-hw-gro-packets
      name: rx-hw-gro-bytes
      name: rx-hw-gro-wire-packets
      name: rx-hw-gro-wire-bytes
      name: rx-hw-drop-ratelimits
      name: tx-hw-drops
      name: tx-hw-drop-errors
      name: tx-csum-none
      name: tx-needs-csum
      name: tx-hw-gso-packets
      name: tx-hw-gso-bytes
      name: tx-hw-gso-wire-packets
      name: tx-hw-gso-wire-bytes
      name: tx-hw-drop-ratelimits
      
      Signed-off-by: default avatarXuan Zhuo <xuanzhuo@linux.alibaba.com>
      Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      0cfe71f4
  24. Apr 23, 2024
  25. Apr 19, 2024
Loading