diff options
| author | Neil Horman <nhorman@tuxdriver.com> | 2012-02-10 00:43:37 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2012-02-10 15:08:57 -0500 |
| commit | f5c38208d32412d72b97a4f0d44af0eb39feb20b (patch) | |
| tree | 66d7a30ed9ec41fc9327b9fc839eec497055c5a9 | |
| parent | a87dfe14a78501c931a4d5481efff6a809aa907d (diff) | |
netprio_cgroup: don't allocate prio table when a device is registered
So we delay the allocation till the priority is set through cgroup,
and this makes skb_update_priority() faster when it's not set.
This also eliminates an off-by-one bug similar with the one fixed
in the previous patch.
Origionally-authored-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: "David S. Miller" <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | net/core/netprio_cgroup.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c index 72c638780805..4dacc44637ef 100644 --- a/net/core/netprio_cgroup.c +++ b/net/core/netprio_cgroup.c | |||
| @@ -271,7 +271,6 @@ static int netprio_device_event(struct notifier_block *unused, | |||
| 271 | { | 271 | { |
| 272 | struct net_device *dev = ptr; | 272 | struct net_device *dev = ptr; |
| 273 | struct netprio_map *old; | 273 | struct netprio_map *old; |
| 274 | u32 max_len = atomic_read(&max_prioidx); | ||
| 275 | 274 | ||
| 276 | /* | 275 | /* |
| 277 | * Note this is called with rtnl_lock held so we have update side | 276 | * Note this is called with rtnl_lock held so we have update side |
| @@ -279,11 +278,6 @@ static int netprio_device_event(struct notifier_block *unused, | |||
| 279 | */ | 278 | */ |
| 280 | 279 | ||
| 281 | switch (event) { | 280 | switch (event) { |
| 282 | |||
| 283 | case NETDEV_REGISTER: | ||
| 284 | if (max_len) | ||
| 285 | extend_netdev_table(dev, max_len); | ||
| 286 | break; | ||
| 287 | case NETDEV_UNREGISTER: | 281 | case NETDEV_UNREGISTER: |
| 288 | old = rtnl_dereference(dev->priomap); | 282 | old = rtnl_dereference(dev->priomap); |
| 289 | RCU_INIT_POINTER(dev->priomap, NULL); | 283 | RCU_INIT_POINTER(dev->priomap, NULL); |
