mbox series

[net-next,v3,0/3] net: dev: PREEMPT_RT fixups.

Message ID 20220211233839.2280731-1-bigeasy@linutronix.de (mailing list archive)
Headers show
Series net: dev: PREEMPT_RT fixups. | expand

Message

Sebastian Andrzej Siewior Feb. 11, 2022, 11:38 p.m. UTC
Hi,

this series removes or replaces preempt_disable() and local_irq_save()
sections which are problematic on PREEMPT_RT.
Patch 2 makes netif_rx() work from any context after I found suggestions
for it in an old thread. Should that work, then the context-specific
variants could be removed.

v2…v3:
   - #2
     - Export __netif_rx() so it can be used by everyone.
     - Add a lockdep assert to check for interrupt context.
     - Update the kernel doc and mention that the skb is posted to
       backlog NAPI.
     - Use __netif_rx() also in drivers/net/*.c.
     - Added Toke''s review tag and kept Eric's desptite the changes
       made.

v1…v2:
  - #1 and #2
    - merge patch 1 und 2 from the series (as per Toke).
    - updated patch description and corrected the first commit number (as
      per Eric).
   - #2
     - Provide netif_rx() as in v1 and additionally __netif_rx() without
       local_bh disable()+enable() for the loopback driver. __netif_rx() is
       not exported (loopback is built-in only) so it won't be used
       drivers. If this doesn't work then we can still export/ define a
       wrapper as Eric suggested.
     - Added a comment that netif_rx() considered legacy.
   - #3
     - Moved ____napi_schedule() into rps_ipi_queued() and
       renamed it napi_schedule_rps().
   https://lore.kernel.org/all/20220204201259.1095226-1-bigeasy@linutronix.de/

v1:
   https://lore.kernel.org/all/20220202122848.647635-1-bigeasy@linutronix.de

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 14, 2022, 1:50 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Sat, 12 Feb 2022 00:38:36 +0100 you wrote:
> Hi,
> 
> this series removes or replaces preempt_disable() and local_irq_save()
> sections which are problematic on PREEMPT_RT.
> Patch 2 makes netif_rx() work from any context after I found suggestions
> for it in an old thread. Should that work, then the context-specific
> variants could be removed.
> 
> [...]

Here is the summary with links:
  - [net-next,v3,1/3] net: dev: Remove preempt_disable() and get_cpu() in netif_rx_internal().
    https://git.kernel.org/netdev/net-next/c/f234ae294761
  - [net-next,v3,2/3] net: dev: Makes sure netif_rx() can be invoked in any context.
    https://git.kernel.org/netdev/net-next/c/baebdf48c360
  - [net-next,v3,3/3] net: dev: Make rps_lock() disable interrupts.
    https://git.kernel.org/netdev/net-next/c/e722db8de6e6

You are awesome, thank you!