1. 26 May, 2023 4 commits
    • Kurt Kanzenbach's avatar
      net/core: Enable socket busy polling on -RT · c857946a
      Kurt Kanzenbach authored
      Busy polling is currently not allowed on PREEMPT_RT, because it disables
      preemption while invoking the NAPI callback. It is not possible to acquire
      sleeping locks with disabled preemption. For details see commit
      20ab39d1 ("net/core: disable NET_RX_BUSY_POLL on PREEMPT_RT").
      
      However, strict cyclic and/or low latency network applications may prefer busy
      polling e.g., using AF_XDP instead of interrupt driven communication.
      
      The preempt_disable() is used in order to prevent the poll_owner and NAPI owner
      to be preempted while owning the resource to ensure progress. Netpoll performs
      busy polling in order to acquire the lock. NAPI is locked by setting the
      NAPIF_STATE_SCHED flag. There is no busy polling if the flag is set and the
      "owner" is preempted. Worst case is that the task owning NAPI gets preempted and
      NAPI processing stalls.  This is can be prevented by properly prioritising the
      tasks within the system.
      
      Allow RX_BUSY_POLL on PREEMPT_RT if NETPOLL is disabled. Don't disable
      preemption on PREEMPT_RT within the busy poll loop.
      
      Tested on x86 hardware with v6.1-RT and v6.3-RT on Intel i225 (igc) with
      AF_XDP/ZC sockets configured to run in busy polling mode.
      Suggested-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: Kurt Kanzenbach's avatarKurt Kanzenbach <kurt@linutronix.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c857946a
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · d6f1e0bf
      Jakub Kicinski authored
      Cross-merge networking fixes after downstream PR.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d6f1e0bf
    • Jakub Kicinski's avatar
      Merge tag 'ib-leds-netdev-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds · 78dbc246
      Jakub Kicinski authored
      Lee Jones says:
      
      ====================
      Immutable branch between LEDs and netdev due for the v6.5 merge window
      
      Andrew Lunn says:
      
        Christian Marangi and I will be continuing the work of offloading LED
        blinking to Ethernet MAC and PHY LED controllers. The next set of
        patches is again cross subsystem, LEDs and netdev. It also requires
        some patches you have in for-leds-next:
      
        a286befc24e8 leds: trigger: netdev: Use mutex instead of spinlocks
        509412749002 leds: trigger: netdev: Convert device attr to macro
        0fd93ac85826 leds: trigger: netdev: Rename add namespace to netdev trigger enum modes
        eb31ca4531a0 leds: trigger: netdev: Drop NETDEV_LED_MODE_LINKUP from mode
        3fc498cf54b4 leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
      
        I'm assuming the new series will get nerged via netdev, with your
        Acked-by. Could you create a stable branch with these patches which
        can be pulled into netdev?
      
      * tag 'ib-leds-netdev-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds:
        leds: trigger: netdev: Use mutex instead of spinlocks
        leds: trigger: netdev: Convert device attr to macro
        leds: trigger: netdev: Rename add namespace to netdev trigger enum modes
        leds: trigger: netdev: Drop NETDEV_LED_MODE_LINKUP from mode
        leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
      ====================
      
      Link: https://lore.kernel.org/r/20230525111521.GA411262@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      78dbc246
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · d4031ec8
      Jakub Kicinski authored
      Cross-merge networking fixes after downstream PR.
      
      Conflicts:
      
      net/ipv4/raw.c
        3632679d ("ipv{4,6}/raw: fix output xfrm lookup wrt protocol")
        c85be08f ("raw: Stop using RTO_ONLINK.")
      https://lore.kernel.org/all/20230525110037.2b532b83@canb.auug.org.au/
      
      Adjacent changes:
      
      drivers/net/ethernet/freescale/fec_main.c
        9025944f ("net: fec: add dma_wmb to ensure correct descriptor values")
        144470c8 ("net: fec: using the standard return codes when xdp xmit errors")
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d4031ec8
  2. 25 May, 2023 31 commits
  3. 24 May, 2023 5 commits