* Check for non-NULL old_priomap outside the loop, since its not going to change. * Copy the old_priomap's length to a local variable and use that for loop control, instead of costly pointer-dereferences.
Signed-off-by: Srivatsa S. Bhat <srivatsa.b...@linux.vnet.ibm.com> --- net/core/netprio_cgroup.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c index fd339bb0..0775bc9 100644 --- a/net/core/netprio_cgroup.c +++ b/net/core/netprio_cgroup.c @@ -73,7 +73,7 @@ static int extend_netdev_table(struct net_device *dev, u32 new_len) ((sizeof(u32) * new_len)); struct netprio_map *new_priomap = kzalloc(new_size, GFP_KERNEL); struct netprio_map *old_priomap; - int i; + int i, old_len; old_priomap = rtnl_dereference(dev->priomap); @@ -82,10 +82,12 @@ static int extend_netdev_table(struct net_device *dev, u32 new_len) return -ENOMEM; } - for (i = 0; - old_priomap && (i < old_priomap->priomap_len); - i++) - new_priomap->priomap[i] = old_priomap->priomap[i]; + if (old_priomap) { + old_len = old_priomap->priomap_len; + + for (i = 0; i < old_len; i++) + new_priomap->priomap[i] = old_priomap->priomap[i]; + } new_priomap->priomap_len = new_len; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/