aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorNeil Horman <nhorman@tuxdriver.com>2012-02-10 00:43:37 -0500
committerDavid S. Miller <davem@davemloft.net>2012-02-10 15:08:57 -0500
commitf5c38208d32412d72b97a4f0d44af0eb39feb20b (patch)
tree66d7a30ed9ec41fc9327b9fc839eec497055c5a9 /net
parenta87dfe14a78501c931a4d5481efff6a809aa907d (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>
Diffstat (limited to 'net')
-rw-r--r--net/core/netprio_cgroup.c6
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);