All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.