1. 28 4月, 2016 2 次提交
    • E
      net: snmp: kill various STATS_USER() helpers · 6aef70a8
      Eric Dumazet 提交于
      In the old days (before linux-3.0), SNMP counters were duplicated,
      one for user context, and one for BH context.
      
      After commit 8f0ea0fe ("snmp: reduce percpu needs by 50%")
      we have a single copy, and what really matters is preemption being
      enabled or disabled, since we use this_cpu_inc() or __this_cpu_inc()
      respectively.
      
      We therefore kill SNMP_INC_STATS_USER(), SNMP_ADD_STATS_USER(),
      NET_INC_STATS_USER(), NET_ADD_STATS_USER(), SCTP_INC_STATS_USER(),
      SNMP_INC_STATS64_USER(), SNMP_ADD_STATS64_USER(), TCP_ADD_STATS_USER(),
      UDP_INC_STATS_USER(), UDP6_INC_STATS_USER(), and XFRM_INC_STATS_USER()
      
      Following patches will rename __BH helpers to make clear their
      usage is not tied to BH being disabled.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6aef70a8
    • E
      net-rfs: fix false sharing accessing sd->input_queue_head · 501e7ef5
      Eric Dumazet 提交于
      sd->input_queue_head is incremented for each processed packet
      in process_backlog(), and read from other cpus performing
      Out Of Order avoidance in get_rps_cpu()
      
      Moving this field in a separate cache line keeps it mostly
      hot for the cpu in process_backlog(), as other cpus will
      only read it.
      
      In a stress test, process_backlog() was consuming 6.80 % of cpu cycles,
      and the patch reduced the cost to 0.65 %
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Acked-by: NTom Herbert <tom@herbertland.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      501e7ef5
  2. 27 4月, 2016 14 次提交
  3. 26 4月, 2016 20 次提交
  4. 25 4月, 2016 4 次提交