From: Changli Gao Date: Tue, 29 Jun 2010 22:54:58 +0000 (+0000) Subject: act_mirred: combine duplicate code X-Git-Tag: v2.6.36-rc1~571^2~400 X-Git-Url: https://bbs.cooldavid.org/git/?p=net-next-2.6.git;a=commitdiff_plain;h=5acbf7f10b9e336510a1de79b4af06f6da9a8c5a act_mirred: combine duplicate code act_mirred: combine duplicate code tcf_bstats is updated in any way, so we can do it earlier to reduce the size of the code. Signed-off-by: Changli Gao Signed-off-by: Jamal Hadi Salim ---- net/sched/act_mirred.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) Signed-off-by: David S. Miller --- diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index 2e9a7b91aa1..a16b0175f89 100644 --- a/net/sched/act_mirred.c +++ b/net/sched/act_mirred.c @@ -160,6 +160,8 @@ static int tcf_mirred(struct sk_buff *skb, struct tc_action *a, spin_lock(&m->tcf_lock); m->tcf_tm.lastuse = jiffies; + m->tcf_bstats.bytes += qdisc_pkt_len(skb); + m->tcf_bstats.packets++; dev = m->tcfm_dev; if (!(dev->flags & IFF_UP)) { @@ -174,8 +176,6 @@ static int tcf_mirred(struct sk_buff *skb, struct tc_action *a, if (skb2 == NULL) goto out; - m->tcf_bstats.bytes += qdisc_pkt_len(skb2); - m->tcf_bstats.packets++; if (!(at & AT_EGRESS)) { if (m->tcfm_ok_push) skb_push(skb2, skb2->dev->hard_header_len); @@ -193,8 +193,6 @@ static int tcf_mirred(struct sk_buff *skb, struct tc_action *a, out: if (err) { m->tcf_qstats.overlimits++; - m->tcf_bstats.bytes += qdisc_pkt_len(skb); - m->tcf_bstats.packets++; /* should we be asking for packet to be dropped? * may make sense for redirect case only */