mbox series

[v2,net-next,0/7] Avoid local_irq_save() and use napi_alloc_frag() where possible

Message ID 20190607192040.19367-1-bigeasy@linutronix.de
Headers show
Series Avoid local_irq_save() and use napi_alloc_frag() where possible | expand

Message

Sebastian Andrzej Siewior June 7, 2019, 7:20 p.m. UTC
The first two patches remove local_irq_save() around
`netdev_alloc_cache' which does not work on -RT. Besides helping -RT it
whould benefit the users of the function since they can avoid disabling
interrupts and save a few cycles.
The remaining patches are from a time when I tried to remove
`netdev_alloc_cache' but then noticed that we still have non-NAPI
drivers using netdev_alloc_skb() and I dropped that idea. Using
napi_alloc_frag() over netdev_alloc_frag() would skip the not required
local_bh_disable() around the allocation.

v1…v2:
  - 1/7 + 2/7 use now "(in_irq() || irqs_disabled())" instead just
    "irqs_disabled()" to align with __dev_kfree_skb_any(). Pointed out
    by Eric Dumazet.

  - 6/7 has a typo less. Pointed out by Sergei Shtylyov.

  - 3/7 + 4/7 added acks from Ioana Radulescu.

Sebastian

Comments

David Miller June 10, 2019, 2:40 a.m. UTC | #1
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri,  7 Jun 2019 21:20:33 +0200

> The first two patches remove local_irq_save() around
> `netdev_alloc_cache' which does not work on -RT. Besides helping -RT it
> whould benefit the users of the function since they can avoid disabling
> interrupts and save a few cycles.
> The remaining patches are from a time when I tried to remove
> `netdev_alloc_cache' but then noticed that we still have non-NAPI
> drivers using netdev_alloc_skb() and I dropped that idea. Using
> napi_alloc_frag() over netdev_alloc_frag() would skip the not required
> local_bh_disable() around the allocation.
 ...

Series applied, thanks.