[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52D2987D.5060807@mojatatu.com>
Date: Sun, 12 Jan 2014 08:28:29 -0500
From: Jamal Hadi Salim <jhs@...atatu.com>
To: John Fastabend <john.fastabend@...il.com>,
xiyou.wangcong@...il.com, eric.dumazet@...il.com
CC: netdev@...r.kernel.org, davem@...emloft.net
Subject: Re: [RFC PATCH 00/12] RCU'ify the net:sched classifier chains
On 01/10/14 04:36, John Fastabend wrote:
>
> The ingress qdisc is a simple qdisc which doesn't maintain any
> actual list of skb's and is primarily a hook to attach filters.
> Further the only qdisc that can be attached to the ingress qdisc
> is sch_ingress. The qdisc lock is currently serializing two
> operations (1) tc_classify which is addressed here and (2)
> statistics accounting. The second point is not solved here but
> it could be a matter of making the bstats and qstats per cpu
> stats.
I think as you observed in your other email:
There is a little more than just the stats (on qdiscs as well);
internal to specific filters etc.
> This is an RFC for now and needs some more work. Some items
> I know about are (a) an audit of the ematch code paths, (b) resolving
> the checpatch errors mostly due to moving code around that
> generates those errors, (c) run smatch, (d) audit u32 code
> for correctness,
Ok, my feel-good dial went up reading #d above;->
>(e) do a lot more testing so far only very
> basic testing has been done. I tried to put some reasonable
> comments in the commit logs but yes they need more work.
>
Things like MSI based devices, massive single tun device
tests, ifb with redirect etc would help cleanse things up.
> Cong, if its not too much to ask can we use this as a base
> set of patches for this work? I think its reasonably close to
> correct as is.
>
I believe these are based on your original patches John, no?
So I would agree we use these as a base.
I will scan through the patches...
This is fun stuff - I will try to participate whenever i can
(unfortunately not much time at the moment).
cheers,
jamal
> Thanks! John.
>
> ---
>
> John Fastabend (12):
> net: qdisc: use rcu prefix and silence sparse warnings
> net: rcu-ify tcf_proto
> net: sched: cls_basic use RCU
> net: sched: cls_cgroup use RCU
> net: sched: cls_flow use RCU
> net: sched: fw use RCU
> net: sched: RCU cls_route
> net: sched: RCU cls_tcindex
> net: sched: make cls_u32 lockless
> net: sched: rcu'ify cls_rsvp
> net: make cls_bpf rcu safe
> net: sched: make tc_action safe to walk under RCU
>
>
> include/linux/netdevice.h | 41 +-----
> include/linux/rtnetlink.h | 10 +
> include/net/act_api.h | 1
> include/net/pkt_cls.h | 12 +-
> include/net/sch_generic.h | 34 ++++-
> net/core/dev.c | 54 +++++++
> net/sched/act_api.c | 18 +-
> net/sched/cls_api.c | 44 +++---
> net/sched/cls_basic.c | 82 ++++++-----
> net/sched/cls_bpf.c | 79 ++++++-----
> net/sched/cls_cgroup.c | 65 ++++++---
> net/sched/cls_flow.c | 145 ++++++++++++--------
> net/sched/cls_fw.c | 112 +++++++++++----
> net/sched/cls_route.c | 218 +++++++++++++++++-------------
> net/sched/cls_rsvp.h | 152 ++++++++++++---------
> net/sched/cls_tcindex.c | 327 ++++++++++++++++++++++++++-------------------
> net/sched/cls_u32.c | 258 +++++++++++++++++++++++-------------
> net/sched/sch_api.c | 6 -
> net/sched/sch_atm.c | 30 +++-
> net/sched/sch_cbq.c | 21 ++-
> net/sched/sch_choke.c | 18 ++
> net/sched/sch_drr.c | 10 +
> net/sched/sch_dsmark.c | 8 +
> net/sched/sch_fq_codel.c | 11 +-
> net/sched/sch_generic.c | 4 -
> net/sched/sch_hfsc.c | 17 ++
> net/sched/sch_htb.c | 23 ++-
> net/sched/sch_ingress.c | 8 +
> net/sched/sch_mqprio.c | 4 -
> net/sched/sch_multiq.c | 8 +
> net/sched/sch_prio.c | 11 +-
> net/sched/sch_qfq.c | 9 +
> net/sched/sch_sfb.c | 15 +-
> net/sched/sch_sfq.c | 11 +-
> net/sched/sch_teql.c | 9 +
> 35 files changed, 1139 insertions(+), 736 deletions(-)
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists