288864effe
The tc action act_connmark was using shared stats and taking the per action lock in the datapath. Improve it by using percpu stats and rcu. perf before: - 13.55% tcf_connmark_act - 81.18% _raw_spin_lock 80.46% native_queued_spin_lock_slowpath perf after: - 2.85% tcf_connmark_act tdc results: 1..15 ok 1 2002 - Add valid connmark action with defaults ok 2 56a5 - Add valid connmark action with control pass ok 3 7c66 - Add valid connmark action with control drop ok 4 a913 - Add valid connmark action with control pipe ok 5 bdd8 - Add valid connmark action with control reclassify ok 6 b8be - Add valid connmark action with control continue ok 7 d8a6 - Add valid connmark action with control jump ok 8 aae8 - Add valid connmark action with zone argument ok 9 2f0b - Add valid connmark action with invalid zone argument ok 10 9305 - Add connmark action with unsupported argument ok 11 71ca - Add valid connmark action and replace it ok 12 5f8f - Add valid connmark action with cookie ok 13 c506 - Replace connmark with invalid goto chain control ok 14 6571 - Delete connmark action with valid index ok 15 3426 - Delete connmark action with invalid index Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> |
||
---|---|---|
.. | ||
tc_bpf.h | ||
tc_connmark.h | ||
tc_csum.h | ||
tc_ct.h | ||
tc_ctinfo.h | ||
tc_defact.h | ||
tc_gact.h | ||
tc_gate.h | ||
tc_ife.h | ||
tc_ipt.h | ||
tc_mirred.h | ||
tc_mpls.h | ||
tc_nat.h | ||
tc_pedit.h | ||
tc_police.h | ||
tc_sample.h | ||
tc_skbedit.h | ||
tc_skbmod.h | ||
tc_tunnel_key.h | ||
tc_vlan.h |