[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <10f80e225811433d89d58f139fba8026@OMZP1LUMXCA01.uswin.ad.vzwcorp.com>
Date: Wed, 11 Oct 2017 12:35:50 +0000
From: "Kurup, Manish B" <manish.kurup@...izon.com>
To: Jamal Hadi Salim <jhs@...atatu.com>,
Manish Kurup <kurup.manish@...il.com>,
"xiyou.wangcong@...il.com" <xiyou.wangcong@...il.com>,
"jiri@...nulli.us" <jiri@...nulli.us>,
"davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: "aring@...atatu.com" <aring@...atatu.com>,
"mrv@...atatu.com" <mrv@...atatu.com>
Subject: RE: [E] Re: [PATCH net-next 1/2] net sched act_vlan: Change stats
update to use per-core stats
Hi Jamal, Yes, that's an indentation mismatch - I put in one tab too many. Shall fix before commit.
Thanks,
-Manish
-----Original Message-----
From: Jamal Hadi Salim [mailto:jhs@...atatu.com]
Sent: Wednesday, October 11, 2017 8:28 AM
To: Manish Kurup; xiyou.wangcong@...il.com; jiri@...nulli.us; davem@...emloft.net; netdev@...r.kernel.org
Cc: aring@...atatu.com; mrv@...atatu.com; Kurup, Manish B
Subject: [E] Re: [PATCH net-next 1/2] net sched act_vlan: Change stats update to use per-core stats
minus lk
On 17-10-10 10:32 PM, Manish Kurup wrote:
> The VLAN action maintains one set of stats across all cores, and uses
> a spinlock to synchronize updates to it from the same. Changed this to
> use a per-CPU stats context instead.
> This change will result in better performance.
>
> Signed-off-by: Manish Kurup <manish.kurup@...izon.com>
> ---
> net/sched/act_vlan.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/net/sched/act_vlan.c b/net/sched/act_vlan.c index
> 16eb067..14c262c 100644
> --- a/net/sched/act_vlan.c
> +++ b/net/sched/act_vlan.c
> @@ -30,9 +30,10 @@ static int tcf_vlan(struct sk_buff *skb, const struct tc_action *a,
> int err;
> u16 tci;
>
> - spin_lock(&v->tcf_lock);
> tcf_lastuse_update(&v->tcf_tm);
> - bstats_update(&v->tcf_bstats, skb);
> + bstats_cpu_update(this_cpu_ptr(v->common.cpu_bstats), skb);
> +
> + spin_lock(&v->tcf_lock);
> action = v->tcf_action;
>
> /* Ensure 'data' points at mac_header prior calling vlan
> manipulating @@ -85,7 +86,8 @@ static int tcf_vlan(struct sk_buff
> *skb, const struct tc_action *a,
>
> drop:
> action = TC_ACT_SHOT;
> - v->tcf_qstats.drops++;
> + qstats_drop_inc(this_cpu_ptr(v->common.cpu_qstats));
> +
> unlock:
> if (skb_at_tc_ingress(skb))
> skb_pull_rcsum(skb, skb->mac_len); @@ -172,7 +174,7 @@ static int
> tcf_vlan_init(struct net *net, struct nlattr *nla,
>
> if (!exists) {
> ret = tcf_idr_create(tn, parm->index, est, a,
> - &act_vlan_ops, bind, false);
> + &act_vlan_ops, bind, true);
>
Indentation mismatch here?
Otherwise looks good to me.
Acked-by: Jamal Hadi Salim <jhs@...atatu.com>
cheers,
jamal
Powered by blists - more mailing lists