public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Jamal Hadi Salim <jhs@mojatatu•com>
To: John Fastabend <john.fastabend@gmail•com>,
	xiyou.wangcong@gmail•com, eric.dumazet@gmail•com
Cc: netdev@vger•kernel.org, davem@davemloft•net
Subject: Re: [RFC PATCH 00/12] RCU'ify the net:sched classifier chains
Date: Sun, 12 Jan 2014 08:28:29 -0500	[thread overview]
Message-ID: <52D2987D.5060807@mojatatu.com> (raw)
In-Reply-To: <20140110092041.7193.5952.stgit@nitbit.x32>

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(-)
>

  parent reply	other threads:[~2014-01-12 13:28 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-10  9:36 [RFC PATCH 00/12] RCU'ify the net:sched classifier chains John Fastabend
2014-01-10  9:37 ` [RFC PATCH 01/12] net: qdisc: use rcu prefix and silence sparse warnings John Fastabend
2014-01-10  9:37 ` [RFC PATCH 02/12] net: rcu-ify tcf_proto John Fastabend
2014-01-10  9:38 ` [RFC PATCH 03/12] net: sched: cls_basic use RCU John Fastabend
2014-01-10  9:38 ` [RFC PATCH 04/12] net: sched: cls_cgroup " John Fastabend
2014-01-10  9:39 ` [RFC PATCH 05/12] net: sched: cls_flow " John Fastabend
2014-01-10  9:39 ` [RFC PATCH 06/12] net: sched: fw " John Fastabend
2014-01-10  9:41 ` [RFC PATCH 07/12] net: sched: RCU cls_route John Fastabend
2014-01-10  9:42 ` [RFC PATCH 08/12] net: sched: RCU cls_tcindex John Fastabend
2014-01-10  9:42 ` [RFC PATCH 09/12] net: sched: make cls_u32 lockless John Fastabend
2014-01-10  9:43 ` [RFC PATCH 10/12] net: sched: rcu'ify cls_rsvp John Fastabend
2014-01-10  9:43 ` [RFC PATCH 11/12] net: make cls_bpf rcu safe John Fastabend
2014-01-10  9:44 ` [RFC PATCH 12/12] net: sched: make tc_action safe to walk under RCU John Fastabend
2014-01-11 19:43 ` [RFC PATCH 00/12] RCU'ify the net:sched classifier chains Cong Wang
2014-01-11 23:33   ` John Fastabend
2014-04-24 23:51     ` Cong Wang
2014-04-30 16:36       ` John Fastabend
2014-01-12 13:28 ` Jamal Hadi Salim [this message]
2014-01-12 13:57   ` Jamal Hadi Salim
2014-01-12 14:18     ` Jamal Hadi Salim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52D2987D.5060807@mojatatu.com \
    --to=jhs@mojatatu$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=eric.dumazet@gmail$(echo .)com \
    --cc=john.fastabend@gmail$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=xiyou.wangcong@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox