netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 net-next 0/7] net_sched: act: lockless operation
@ 2015-07-06 12:18 Eric Dumazet
  2015-07-06 12:18 ` [PATCH v3 net-next 1/7] net: sched: extend percpu stats helpers Eric Dumazet
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Eric Dumazet @ 2015-07-06 12:18 UTC (permalink / raw)
  To: David S. Miller
  Cc: netdev, Alexei Starovoitov, Jamal Hadi Salim, John Fastabend,
	Eric Dumazet, Eric Dumazet

As mentioned by Alexei last week in Budapest, it is a bit weird
to take a spinlock in order to drop a packet in a tc filter...

Lets add percpu infra for tc actions and use it for gact & mirred.

Before changes, my host with 8 RX queues was handling 5 Mpps with gact,
and more than 11 Mpps after.

Mirred change is not yet visible if ifb+qdisc is used, as ifb is
not yet multi queue enabled, but is a step forward.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: John Fastabend <john.fastabend@gmail.com>

Eric Dumazet (7):
  net: sched: extend percpu stats helpers
  net: sched: add percpu stats to actions
  net_sched: act_gact: make tcfg_pval non zero
  net_sched: act_gact: use a separate packet counters for gact_determ()
  net_sched: act_gact: read tcfg_ptype once
  net_sched: act_gact: remove spinlock in fast path
  net_sched: act_mirred: remove spinlock in fast path

 include/net/act_api.h          | 15 ++++++++++-
 include/net/sch_generic.h      | 31 ++++++++++++++--------
 include/net/tc_act/tc_gact.h   |  7 ++---
 include/net/tc_act/tc_mirred.h |  2 +-
 net/core/dev.c                 |  4 +--
 net/sched/act_api.c            | 44 ++++++++++++++++++++++++--------
 net/sched/act_bpf.c            |  2 +-
 net/sched/act_connmark.c       |  3 ++-
 net/sched/act_csum.c           |  3 ++-
 net/sched/act_gact.c           | 44 ++++++++++++++++++--------------
 net/sched/act_ipt.c            |  2 +-
 net/sched/act_mirred.c         | 58 ++++++++++++++++++++++--------------------
 net/sched/act_nat.c            |  3 ++-
 net/sched/act_pedit.c          |  3 ++-
 net/sched/act_simple.c         |  3 ++-
 net/sched/act_skbedit.c        |  3 ++-
 net/sched/act_vlan.c           |  3 ++-
 17 files changed, 148 insertions(+), 82 deletions(-)

-- 
2.4.3.573.g4eafbef

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-07-08 20:50 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-06 12:18 [PATCH v3 net-next 0/7] net_sched: act: lockless operation Eric Dumazet
2015-07-06 12:18 ` [PATCH v3 net-next 1/7] net: sched: extend percpu stats helpers Eric Dumazet
2015-07-06 18:34   ` Alexei Starovoitov
2015-07-06 12:18 ` [PATCH v3 net-next 2/7] net: sched: add percpu stats to actions Eric Dumazet
2015-07-06 12:18 ` [PATCH v3 net-next 3/7] net_sched: act_gact: make tcfg_pval non zero Eric Dumazet
2015-07-06 12:18 ` [PATCH v3 net-next 4/7] net_sched: act_gact: use a separate packet counters for gact_determ() Eric Dumazet
2015-07-06 12:18 ` [PATCH v3 net-next 5/7] net_sched: act_gact: read tcfg_ptype once Eric Dumazet
2015-07-06 12:18 ` [PATCH v3 net-next 6/7] net_sched: act_gact: remove spinlock in fast path Eric Dumazet
2015-07-06 12:18 ` [PATCH v3 net-next 7/7] net_sched: act_mirred: " Eric Dumazet
2015-07-06 12:53   ` Jamal Hadi Salim
2015-07-06 14:56     ` Eric Dumazet
2015-07-06 18:24       ` Eric Dumazet
2015-07-06 18:29   ` Alexei Starovoitov
2015-07-08 20:50 ` [PATCH v3 net-next 0/7] net_sched: act: lockless operation David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).