Skip to content

Commit f3b0a18

Browse files
TaeheeYoodavem330
authored andcommitted
net: remove unnecessary variables and callback
This patch removes variables and callback these are related to the nested device structure. devices that can be nested have their own nest_level variable that represents the depth of nested devices. In the previous patch, new {lower/upper}_level variables are added and they replace old private nest_level variable. So, this patch removes all 'nest_level' variables. In order to avoid lockdep warning, ->ndo_get_lock_subclass() was added to get lockdep subclass value, which is actually lower nested depth value. But now, they use the dynamic lockdep key to avoid lockdep warning instead of the subclass. So, this patch removes ->ndo_get_lock_subclass() callback. Signed-off-by: Taehee Yoo <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 0ce1822 commit f3b0a18

File tree

15 files changed

+10
-92
lines changed

15 files changed

+10
-92
lines changed

Diff for: drivers/net/bonding/bond_alb.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -952,7 +952,7 @@ static int alb_upper_dev_walk(struct net_device *upper, void *_data)
952952
struct bond_vlan_tag *tags;
953953

954954
if (is_vlan_dev(upper) &&
955-
bond->nest_level == vlan_get_encap_level(upper) - 1) {
955+
bond->dev->lower_level == upper->lower_level - 1) {
956956
if (upper->addr_assign_type == NET_ADDR_STOLEN) {
957957
alb_send_lp_vid(slave, mac_addr,
958958
vlan_dev_vlan_proto(upper),

Diff for: drivers/net/bonding/bond_main.c

-15
Original file line numberDiff line numberDiff line change
@@ -1733,8 +1733,6 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev,
17331733
goto err_upper_unlink;
17341734
}
17351735

1736-
bond->nest_level = dev_get_nest_level(bond_dev) + 1;
1737-
17381736
/* If the mode uses primary, then the following is handled by
17391737
* bond_change_active_slave().
17401738
*/
@@ -1957,9 +1955,6 @@ static int __bond_release_one(struct net_device *bond_dev,
19571955
if (!bond_has_slaves(bond)) {
19581956
bond_set_carrier(bond);
19591957
eth_hw_addr_random(bond_dev);
1960-
bond->nest_level = SINGLE_DEPTH_NESTING;
1961-
} else {
1962-
bond->nest_level = dev_get_nest_level(bond_dev) + 1;
19631958
}
19641959

19651960
unblock_netpoll_tx();
@@ -3444,13 +3439,6 @@ static void bond_fold_stats(struct rtnl_link_stats64 *_res,
34443439
}
34453440
}
34463441

3447-
static int bond_get_nest_level(struct net_device *bond_dev)
3448-
{
3449-
struct bonding *bond = netdev_priv(bond_dev);
3450-
3451-
return bond->nest_level;
3452-
}
3453-
34543442
static void bond_get_stats(struct net_device *bond_dev,
34553443
struct rtnl_link_stats64 *stats)
34563444
{
@@ -4270,7 +4258,6 @@ static const struct net_device_ops bond_netdev_ops = {
42704258
.ndo_neigh_setup = bond_neigh_setup,
42714259
.ndo_vlan_rx_add_vid = bond_vlan_rx_add_vid,
42724260
.ndo_vlan_rx_kill_vid = bond_vlan_rx_kill_vid,
4273-
.ndo_get_lock_subclass = bond_get_nest_level,
42744261
#ifdef CONFIG_NET_POLL_CONTROLLER
42754262
.ndo_netpoll_setup = bond_netpoll_setup,
42764263
.ndo_netpoll_cleanup = bond_netpoll_cleanup,
@@ -4769,8 +4756,6 @@ static int bond_init(struct net_device *bond_dev)
47694756
if (!bond->wq)
47704757
return -ENOMEM;
47714758

4772-
bond->nest_level = SINGLE_DEPTH_NESTING;
4773-
47744759
spin_lock_init(&bond->mode_lock);
47754760
spin_lock_init(&bond->stats_lock);
47764761
lockdep_register_key(&bond->stats_lock_key);

Diff for: drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -3160,7 +3160,7 @@ static int add_vlan_pop_action(struct mlx5e_priv *priv,
31603160
struct mlx5_esw_flow_attr *attr,
31613161
u32 *action)
31623162
{
3163-
int nest_level = vlan_get_encap_level(attr->parse_attr->filter_dev);
3163+
int nest_level = attr->parse_attr->filter_dev->lower_level;
31643164
struct flow_action_entry vlan_act = {
31653165
.id = FLOW_ACTION_VLAN_POP,
31663166
};

Diff for: drivers/net/macsec.c

-9
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,6 @@ struct macsec_dev {
267267
struct pcpu_secy_stats __percpu *stats;
268268
struct list_head secys;
269269
struct gro_cells gro_cells;
270-
unsigned int nest_level;
271270
};
272271

273272
/**
@@ -2957,11 +2956,6 @@ static int macsec_get_iflink(const struct net_device *dev)
29572956
return macsec_priv(dev)->real_dev->ifindex;
29582957
}
29592958

2960-
static int macsec_get_nest_level(struct net_device *dev)
2961-
{
2962-
return macsec_priv(dev)->nest_level;
2963-
}
2964-
29652959
static const struct net_device_ops macsec_netdev_ops = {
29662960
.ndo_init = macsec_dev_init,
29672961
.ndo_uninit = macsec_dev_uninit,
@@ -2975,7 +2969,6 @@ static const struct net_device_ops macsec_netdev_ops = {
29752969
.ndo_start_xmit = macsec_start_xmit,
29762970
.ndo_get_stats64 = macsec_get_stats64,
29772971
.ndo_get_iflink = macsec_get_iflink,
2978-
.ndo_get_lock_subclass = macsec_get_nest_level,
29792972
};
29802973

29812974
static const struct device_type macsec_type = {
@@ -3258,8 +3251,6 @@ static int macsec_newlink(struct net *net, struct net_device *dev,
32583251
if (err < 0)
32593252
return err;
32603253

3261-
macsec->nest_level = dev_get_nest_level(real_dev) + 1;
3262-
32633254
err = netdev_upper_dev_link(real_dev, dev, extack);
32643255
if (err < 0)
32653256
goto unregister;

Diff for: drivers/net/macvlan.c

-7
Original file line numberDiff line numberDiff line change
@@ -867,11 +867,6 @@ static int macvlan_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
867867
#define MACVLAN_STATE_MASK \
868868
((1<<__LINK_STATE_NOCARRIER) | (1<<__LINK_STATE_DORMANT))
869869

870-
static int macvlan_get_nest_level(struct net_device *dev)
871-
{
872-
return ((struct macvlan_dev *)netdev_priv(dev))->nest_level;
873-
}
874-
875870
static int macvlan_init(struct net_device *dev)
876871
{
877872
struct macvlan_dev *vlan = netdev_priv(dev);
@@ -1149,7 +1144,6 @@ static const struct net_device_ops macvlan_netdev_ops = {
11491144
.ndo_fdb_add = macvlan_fdb_add,
11501145
.ndo_fdb_del = macvlan_fdb_del,
11511146
.ndo_fdb_dump = ndo_dflt_fdb_dump,
1152-
.ndo_get_lock_subclass = macvlan_get_nest_level,
11531147
#ifdef CONFIG_NET_POLL_CONTROLLER
11541148
.ndo_poll_controller = macvlan_dev_poll_controller,
11551149
.ndo_netpoll_setup = macvlan_dev_netpoll_setup,
@@ -1433,7 +1427,6 @@ int macvlan_common_newlink(struct net *src_net, struct net_device *dev,
14331427
vlan->dev = dev;
14341428
vlan->port = port;
14351429
vlan->set_features = MACVLAN_FEATURES;
1436-
vlan->nest_level = dev_get_nest_level(lowerdev) + 1;
14371430

14381431
vlan->mode = MACVLAN_MODE_VEPA;
14391432
if (data && data[IFLA_MACVLAN_MODE])

Diff for: include/linux/if_macvlan.h

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ struct macvlan_dev {
2929
netdev_features_t set_features;
3030
enum macvlan_mode mode;
3131
u16 flags;
32-
int nest_level;
3332
unsigned int macaddr_count;
3433
#ifdef CONFIG_NET_POLL_CONTROLLER
3534
struct netpoll *netpoll;

Diff for: include/linux/if_vlan.h

-11
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,6 @@ struct vlan_dev_priv {
182182
#ifdef CONFIG_NET_POLL_CONTROLLER
183183
struct netpoll *netpoll;
184184
#endif
185-
unsigned int nest_level;
186185
};
187186

188187
static inline struct vlan_dev_priv *vlan_dev_priv(const struct net_device *dev)
@@ -221,11 +220,6 @@ extern void vlan_vids_del_by_dev(struct net_device *dev,
221220

222221
extern bool vlan_uses_dev(const struct net_device *dev);
223222

224-
static inline int vlan_get_encap_level(struct net_device *dev)
225-
{
226-
BUG_ON(!is_vlan_dev(dev));
227-
return vlan_dev_priv(dev)->nest_level;
228-
}
229223
#else
230224
static inline struct net_device *
231225
__vlan_find_dev_deep_rcu(struct net_device *real_dev,
@@ -295,11 +289,6 @@ static inline bool vlan_uses_dev(const struct net_device *dev)
295289
{
296290
return false;
297291
}
298-
static inline int vlan_get_encap_level(struct net_device *dev)
299-
{
300-
BUG();
301-
return 0;
302-
}
303292
#endif
304293

305294
/**

Diff for: include/linux/netdevice.h

-12
Original file line numberDiff line numberDiff line change
@@ -1422,7 +1422,6 @@ struct net_device_ops {
14221422
void (*ndo_dfwd_del_station)(struct net_device *pdev,
14231423
void *priv);
14241424

1425-
int (*ndo_get_lock_subclass)(struct net_device *dev);
14261425
int (*ndo_set_tx_maxrate)(struct net_device *dev,
14271426
int queue_index,
14281427
u32 maxrate);
@@ -4051,16 +4050,6 @@ static inline void netif_addr_lock(struct net_device *dev)
40514050
spin_lock(&dev->addr_list_lock);
40524051
}
40534052

4054-
static inline void netif_addr_lock_nested(struct net_device *dev)
4055-
{
4056-
int subclass = SINGLE_DEPTH_NESTING;
4057-
4058-
if (dev->netdev_ops->ndo_get_lock_subclass)
4059-
subclass = dev->netdev_ops->ndo_get_lock_subclass(dev);
4060-
4061-
spin_lock_nested(&dev->addr_list_lock, subclass);
4062-
}
4063-
40644053
static inline void netif_addr_lock_bh(struct net_device *dev)
40654054
{
40664055
spin_lock_bh(&dev->addr_list_lock);
@@ -4345,7 +4334,6 @@ void netdev_lower_state_changed(struct net_device *lower_dev,
43454334
extern u8 netdev_rss_key[NETDEV_RSS_KEY_LEN] __read_mostly;
43464335
void netdev_rss_key_fill(void *buffer, size_t len);
43474336

4348-
int dev_get_nest_level(struct net_device *dev);
43494337
int skb_checksum_help(struct sk_buff *skb);
43504338
int skb_crc32c_csum_help(struct sk_buff *skb);
43514339
int skb_csum_hwoffload_help(struct sk_buff *skb,

Diff for: include/net/bonding.h

-1
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ struct bonding {
203203
struct slave __rcu *primary_slave;
204204
struct bond_up_slave __rcu *slave_arr; /* Array of usable slaves */
205205
bool force_primary;
206-
u32 nest_level;
207206
s32 slave_cnt; /* never change this value outside the attach/detach wrappers */
208207
int (*recv_probe)(const struct sk_buff *, struct bonding *,
209208
struct slave *);

Diff for: net/8021q/vlan.c

-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,6 @@ int register_vlan_dev(struct net_device *dev, struct netlink_ext_ack *extack)
172172
if (err < 0)
173173
goto out_uninit_mvrp;
174174

175-
vlan->nest_level = dev_get_nest_level(real_dev) + 1;
176175
err = register_netdevice(dev);
177176
if (err < 0)
178177
goto out_uninit_mvrp;

Diff for: net/8021q/vlan_dev.c

-6
Original file line numberDiff line numberDiff line change
@@ -489,11 +489,6 @@ static void vlan_dev_set_rx_mode(struct net_device *vlan_dev)
489489
dev_uc_sync(vlan_dev_priv(vlan_dev)->real_dev, vlan_dev);
490490
}
491491

492-
static int vlan_dev_get_lock_subclass(struct net_device *dev)
493-
{
494-
return vlan_dev_priv(dev)->nest_level;
495-
}
496-
497492
static const struct header_ops vlan_header_ops = {
498493
.create = vlan_dev_hard_header,
499494
.parse = eth_header_parse,
@@ -785,7 +780,6 @@ static const struct net_device_ops vlan_netdev_ops = {
785780
.ndo_netpoll_cleanup = vlan_dev_netpoll_cleanup,
786781
#endif
787782
.ndo_fix_features = vlan_dev_fix_features,
788-
.ndo_get_lock_subclass = vlan_dev_get_lock_subclass,
789783
.ndo_get_iflink = vlan_dev_get_iflink,
790784
};
791785

Diff for: net/core/dev.c

-19
Original file line numberDiff line numberDiff line change
@@ -7615,25 +7615,6 @@ void *netdev_lower_dev_get_private(struct net_device *dev,
76157615
EXPORT_SYMBOL(netdev_lower_dev_get_private);
76167616

76177617

7618-
int dev_get_nest_level(struct net_device *dev)
7619-
{
7620-
struct net_device *lower = NULL;
7621-
struct list_head *iter;
7622-
int max_nest = -1;
7623-
int nest;
7624-
7625-
ASSERT_RTNL();
7626-
7627-
netdev_for_each_lower_dev(dev, lower, iter) {
7628-
nest = dev_get_nest_level(lower);
7629-
if (max_nest < nest)
7630-
max_nest = nest;
7631-
}
7632-
7633-
return max_nest + 1;
7634-
}
7635-
EXPORT_SYMBOL(dev_get_nest_level);
7636-
76377618
/**
76387619
* netdev_lower_change - Dispatch event about lower device state change
76397620
* @lower_dev: device

Diff for: net/core/dev_addr_lists.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ int dev_uc_sync(struct net_device *to, struct net_device *from)
637637
if (to->addr_len != from->addr_len)
638638
return -EINVAL;
639639

640-
netif_addr_lock_nested(to);
640+
netif_addr_lock(to);
641641
err = __hw_addr_sync(&to->uc, &from->uc, to->addr_len);
642642
if (!err)
643643
__dev_set_rx_mode(to);
@@ -667,7 +667,7 @@ int dev_uc_sync_multiple(struct net_device *to, struct net_device *from)
667667
if (to->addr_len != from->addr_len)
668668
return -EINVAL;
669669

670-
netif_addr_lock_nested(to);
670+
netif_addr_lock(to);
671671
err = __hw_addr_sync_multiple(&to->uc, &from->uc, to->addr_len);
672672
if (!err)
673673
__dev_set_rx_mode(to);
@@ -691,7 +691,7 @@ void dev_uc_unsync(struct net_device *to, struct net_device *from)
691691
return;
692692

693693
netif_addr_lock_bh(from);
694-
netif_addr_lock_nested(to);
694+
netif_addr_lock(to);
695695
__hw_addr_unsync(&to->uc, &from->uc, to->addr_len);
696696
__dev_set_rx_mode(to);
697697
netif_addr_unlock(to);
@@ -858,7 +858,7 @@ int dev_mc_sync(struct net_device *to, struct net_device *from)
858858
if (to->addr_len != from->addr_len)
859859
return -EINVAL;
860860

861-
netif_addr_lock_nested(to);
861+
netif_addr_lock(to);
862862
err = __hw_addr_sync(&to->mc, &from->mc, to->addr_len);
863863
if (!err)
864864
__dev_set_rx_mode(to);
@@ -888,7 +888,7 @@ int dev_mc_sync_multiple(struct net_device *to, struct net_device *from)
888888
if (to->addr_len != from->addr_len)
889889
return -EINVAL;
890890

891-
netif_addr_lock_nested(to);
891+
netif_addr_lock(to);
892892
err = __hw_addr_sync_multiple(&to->mc, &from->mc, to->addr_len);
893893
if (!err)
894894
__dev_set_rx_mode(to);
@@ -912,7 +912,7 @@ void dev_mc_unsync(struct net_device *to, struct net_device *from)
912912
return;
913913

914914
netif_addr_lock_bh(from);
915-
netif_addr_lock_nested(to);
915+
netif_addr_lock(to);
916916
__hw_addr_unsync(&to->mc, &from->mc, to->addr_len);
917917
__dev_set_rx_mode(to);
918918
netif_addr_unlock(to);

Diff for: net/smc/smc_core.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ int smc_vlan_by_tcpsk(struct socket *clcsock, struct smc_init_info *ini)
561561
}
562562

563563
rtnl_lock();
564-
nest_lvl = dev_get_nest_level(ndev);
564+
nest_lvl = ndev->lower_level;
565565
for (i = 0; i < nest_lvl; i++) {
566566
struct list_head *lower = &ndev->adj_list.lower;
567567

Diff for: net/smc/smc_pnet.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,7 @@ static struct net_device *pnet_find_base_ndev(struct net_device *ndev)
718718
int i, nest_lvl;
719719

720720
rtnl_lock();
721-
nest_lvl = dev_get_nest_level(ndev);
721+
nest_lvl = ndev->lower_level;
722722
for (i = 0; i < nest_lvl; i++) {
723723
struct list_head *lower = &ndev->adj_list.lower;
724724

0 commit comments

Comments
 (0)