[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57BCE15E.6040303@gmail.com>
Date: Tue, 23 Aug 2016 16:50:54 -0700
From: John Fastabend <john.fastabend@...il.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: jhs@...atatu.com, davem@...emloft.net, brouer@...hat.com,
xiyou.wangcong@...il.com, alexei.starovoitov@...il.com,
john.r.fastabend@...el.com, netdev@...r.kernel.org
Subject: Re: [net-next PATCH 04/15] net: sched: provide per cpu qstat helpers
On 16-08-23 04:25 PM, Eric Dumazet wrote:
> On Tue, 2016-08-23 at 13:24 -0700, John Fastabend wrote:
>> The per cpu qstats support was added with per cpu bstat support which
>> is currently used by the ingress qdisc. This patch adds a set of
>> helpers needed to make other qdiscs that use qstats per cpu as well.
>>
>> Signed-off-by: John Fastabend <john.r.fastabend@...el.com>
>> ---
>> include/net/sch_generic.h | 39 +++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 39 insertions(+)
>>
>> diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
>> index 3de6a8c..f1b8268 100644
>> --- a/include/net/sch_generic.h
>> +++ b/include/net/sch_generic.h
>> @@ -565,12 +565,43 @@ static inline void qdisc_qstats_backlog_dec(struct Qdisc *sch,
>> sch->qstats.backlog -= qdisc_pkt_len(skb);
>> }
>>
>> +static inline void qdisc_qstats_cpu_backlog_dec(struct Qdisc *sch,
>> + const struct sk_buff *skb)
>> +{
>> + struct gnet_stats_queue *q = this_cpu_ptr(sch->cpu_qstats);
>> +
>> + q->backlog -= qdisc_pkt_len(skb);
>
> Probably could use
> this_cpu_sub(sch->cpu_qstats->backlog, qdisc_pkt_len(skb))
>
>
Sure, should probably create a patch to do the same for some existing
cases matching this pattern as well then.
Powered by blists - more mailing lists