public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta•com>
To: Christoph Lameter <cl@linux•com>
Cc: Eric Dumazet <eric.dumazet@gmail•com>,
	igorm@etf•rs, netdev@vger•kernel.org, davem@davemloft•net
Subject: Re: [PATCH 00/10 net-next] Introduce per interface ipv4 statistics
Date: Fri, 16 Dec 2011 09:19:23 -0800	[thread overview]
Message-ID: <20111216091923.6ff3cbc2@s6510.linuxnetplumber.net> (raw)
In-Reply-To: <alpine.DEB.2.00.1112161053030.26765@router.home>

On Fri, 16 Dec 2011 10:55:18 -0600 (CST)
Christoph Lameter <cl@linux•com> wrote:

> On Fri, 16 Dec 2011, Eric Dumazet wrote:
> 
> > Or we could use a hierarchical split : Say 16 (or 32 or 64) cpus share
> > same counters (must be atomic if NR_CPUS > 16/32/64)
> 
> Then you'd need to have locking or full atomic operations for the
> counters. Reduction of network processing to a set of processors also will
> have other beneficial effects in addition to cache hotness. It would
> removing OS jitter etc etc.
> 
> > percpu_alloc() -> percpugroup_alloc()
> 
> Sounds like a per cpuset/cgroup allocation?

The problem is not per cpu usage for the traffic counters at the ipv4 level. The problem is
the multiplicative growth with 10,000 interfaces and 1024 cpus! Also, IPV6
was ridiculous with keeping for per-cpu counters for things that don't matter
the ICMP counters (thanks to Eric for addressing that one. Only a few
values in the ipstats mib are really in the hot path, others seem to be handled
that way only because the code is cleaner doing it that way.

  parent reply	other threads:[~2011-12-16 17:19 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-16 15:25 [PATCH 00/10 net-next] Introduce per interface ipv4 statistics igorm
2011-12-16 15:25 ` [PATCH 01/10 net-next] include: net: netns: mib: Add proc_dir_entry for ipv4 per interface stats igorm
2011-12-16 15:25 ` [PATCH 02/10 net-next] include: net: snmp: Create icmp per device counters and add macros for per device stats igorm
2011-12-16 15:25 ` [PATCH 03/10 net-next] include:linux:inetdevice: Add struct ipv4_devstat and func __in_dev_get_rcu_safely igorm
2011-12-16 15:25 ` [PATCH 04/10 net-next] include:net:ipv6: Moved _DEV* macros igorm
2011-12-16 15:25 ` [PATCH 05/10 net-next] include:net:ip: Tuned up IP_*_STATS macros for per device statistics and added functions for (un)registering per device proc entries igorm
2011-12-16 15:25 ` [PATCH 06/10 net-next] include:net:icmp: Tuned up ICMP_*_STATS macros for per device statistics and changed prototype for icmp_out_count igorm
2011-12-16 15:26 ` [PATCH 07/10 net-next] net:ipv4:devinet: Add support for alloc/free of per device stats and (un)register of per device proc files igorm
2011-12-16 15:26 ` [PATCH 08/10 net-next] net:ipv4:af_inet: Init proc fs before ip_init igorm
2011-12-16 15:26 ` [PATCH 09/10 net-next] net:ipv4:proc: Introduce proc files for ipv4 per interface stats igorm
2011-12-16 15:26 ` [PATCH 10/10 net-next] net: Enable ipv4 per interface statistics igorm
2011-12-16 15:41 ` [PATCH 00/10 net-next] Introduce per interface ipv4 statistics Eric Dumazet
2011-12-16 15:58   ` Igor Maravić
2011-12-16 16:33     ` Eric Dumazet
2011-12-16 16:44       ` Christoph Lameter
2011-12-16 16:50         ` Eric Dumazet
2011-12-16 16:55           ` Christoph Lameter
2011-12-16 17:14             ` Eric Dumazet
2011-12-16 17:29               ` Christoph Lameter
2011-12-16 18:08                 ` Eric Dumazet
2011-12-16 18:30                   ` Christoph Lameter
2011-12-16 18:39                 ` David Miller
2011-12-16 17:19             ` Stephen Hemminger [this message]
2011-12-16 18:31       ` David Miller
2011-12-16 18:28     ` David Miller
2011-12-16 18:27   ` David Miller

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=20111216091923.6ff3cbc2@s6510.linuxnetplumber.net \
    --to=shemminger@vyatta$(echo .)com \
    --cc=cl@linux$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=eric.dumazet@gmail$(echo .)com \
    --cc=igorm@etf$(echo .)rs \
    --cc=netdev@vger$(echo .)kernel.org \
    /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