Commit 1ead750
udp_tunnel: remove rtnl_lock dependency
Drivers that are using ops lock and don't depend on RTNL lock
still need to manage it because udp_tunnel's RTNL dependency.
Introduce new udp_tunnel_nic_lock and use it instead of
rtnl_lock. Drop non-UDP_TUNNEL_NIC_INFO_MAY_SLEEP mode from
udp_tunnel infra (udp_tunnel_nic_device_sync_work needs to
grab udp_tunnel_nic_lock mutex and might sleep).
Cover more places in v4:
- netlink
- udp_tunnel_notify_add_rx_port (ndo_open)
- triggers udp_tunnel_nic_device_sync_work
- udp_tunnel_notify_del_rx_port (ndo_stop)
- triggers udp_tunnel_nic_device_sync_work
- udp_tunnel_get_rx_info (__netdev_update_features)
- triggers NETDEV_UDP_TUNNEL_PUSH_INFO
- udp_tunnel_drop_rx_info (__netdev_update_features)
- triggers NETDEV_UDP_TUNNEL_DROP_INFO
- udp_tunnel_nic_reset_ntf (ndo_open)
- notifiers
- udp_tunnel_nic_netdevice_event, depending on the event:
- triggers NETDEV_UDP_TUNNEL_PUSH_INFO
- triggers NETDEV_UDP_TUNNEL_DROP_INFO
- ethnl_tunnel_info_reply_size
- udp_tunnel_nic_set_port_priv (two intel drivers)
Cc: Michael Chan <[email protected]>
Suggested-by: Jakub Kicinski <[email protected]>
Signed-off-by: Stanislav Fomichev <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>1 parent df5425b commit 1ead750
File tree
16 files changed
+142
-73
lines changed- drivers/net
- ethernet
- broadcom
- bnx2x
- bnxt
- emulex/benet
- intel
- i40e
- ice
- mellanox
- mlx4
- mlx5/core
- netronome/nfp
- qlogic
- qede
- qlcnic
- sfc
- netdevsim
- include/net
- net
- core
- ipv4
16 files changed
+142
-73
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10219 | 10219 | | |
10220 | 10220 | | |
10221 | 10221 | | |
10222 | | - | |
10223 | | - | |
| 10222 | + | |
10224 | 10223 | | |
10225 | 10224 | | |
10226 | 10225 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15573 | 15573 | | |
15574 | 15574 | | |
15575 | 15575 | | |
15576 | | - | |
15577 | | - | |
| 15576 | + | |
15578 | 15577 | | |
15579 | 15578 | | |
15580 | 15579 | | |
15581 | 15580 | | |
15582 | 15581 | | |
15583 | 15582 | | |
15584 | 15583 | | |
15585 | | - | |
15586 | | - | |
| 15584 | + | |
15587 | 15585 | | |
15588 | 15586 | | |
15589 | 15587 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4031 | 4031 | | |
4032 | 4032 | | |
4033 | 4033 | | |
4034 | | - | |
4035 | | - | |
| 4034 | + | |
4036 | 4035 | | |
4037 | 4036 | | |
4038 | 4037 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15895 | 15895 | | |
15896 | 15896 | | |
15897 | 15897 | | |
15898 | | - | |
15899 | 15898 | | |
15900 | 15899 | | |
15901 | 15900 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4767 | 4767 | | |
4768 | 4768 | | |
4769 | 4769 | | |
4770 | | - | |
4771 | 4770 | | |
4772 | 4771 | | |
4773 | 4772 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2670 | 2670 | | |
2671 | 2671 | | |
2672 | 2672 | | |
2673 | | - | |
2674 | | - | |
| 2673 | + | |
2675 | 2674 | | |
2676 | 2675 | | |
2677 | 2676 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5351 | 5351 | | |
5352 | 5352 | | |
5353 | 5353 | | |
5354 | | - | |
5355 | | - | |
| 5354 | + | |
5356 | 5355 | | |
5357 | 5356 | | |
5358 | 5357 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2394 | 2394 | | |
2395 | 2395 | | |
2396 | 2396 | | |
2397 | | - | |
2398 | | - | |
| 2397 | + | |
2399 | 2398 | | |
2400 | 2399 | | |
2401 | 2400 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
987 | 987 | | |
988 | 988 | | |
989 | 989 | | |
990 | | - | |
991 | 990 | | |
992 | 991 | | |
993 | 992 | | |
994 | 993 | | |
995 | 994 | | |
996 | 995 | | |
997 | | - | |
998 | 996 | | |
999 | 997 | | |
1000 | 998 | | |
1001 | 999 | | |
1002 | 1000 | | |
1003 | | - | |
1004 | 1001 | | |
1005 | 1002 | | |
1006 | 1003 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
486 | 486 | | |
487 | 487 | | |
488 | 488 | | |
489 | | - | |
490 | 489 | | |
491 | 490 | | |
492 | 491 | | |
| |||
0 commit comments