DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Matthew Hall <mhall@mhcomputing.net>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [dpdk-announce] important design choices - statistics - ABI
Date: Wed, 17 Jun 2015 12:17:09 +0100	[thread overview]
Message-ID: <20150617111709.GA6752@bricha3-MOBL3> (raw)
In-Reply-To: <20150617043654.GA10337@mhcomputing.net>

On Tue, Jun 16, 2015 at 09:36:54PM -0700, Matthew Hall wrote:
> On Wed, Jun 17, 2015 at 01:29:47AM +0200, Thomas Monjalon wrote:
> > There were some debates about software statistics disabling.
> > Should they be always on or possibly disabled when compiled?
> > We need to take a decision shortly and discuss (or agree) this proposal:
> > 	http://dpdk.org/ml/archives/dev/2015-June/019461.html
> 
> This goes against the idea I have seen before that we should be moving toward 
> a distro-friendly approach where one copy of DPDK can be used by multiple apps 
> without having to rebuild it. It seems like it is also a bit ABI hostile 
> according to the below goals / discussions.
> 
> Jemalloc is also very high-performance code and still manages to allow 
> enabling and disabling statistics at runtime. Are we sure it's impossible for 
> DPDK or just theorizing?
> 

+1 to this. I think that any compile-time option to disable stats should only
be used when we have a proven performance issue with just disabling them at runtime.
I would assume that apps do not switch on or off stats multiple times per second,
so any code branches to track stats or not would be entirely predictable in the
code - since they always go one way. Therefore, when disabledi, we should be looking
at a very minimal overhead per stat. If there are lots of checks for the same
value in the one path, i.e. lots of stats in a hot path, hopefully the compiler
will be smart enough to make the check just once. If not, we can always do
that in the C code by duplicating the hotpath code for with or without stats cases -
again selectable at runtime.

Also, there is also the case where the stats tracking itself is such low overhead
that its not worth disabling. In that case, neither runtime nor compile-time disabling
should need to be provided. For example, any library that is keeping a track of
bursts of packets should not need to have that stat disable option - one increment
or addition per burst of (32) packets is not going to seriously affect any app. :-)

Regards,
/Bruce

  parent reply	other threads:[~2015-06-17 11:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-16 23:29 Thomas Monjalon
2015-06-17  4:36 ` Matthew Hall
2015-06-17  5:28   ` Stephen Hemminger
2015-06-17  8:23     ` Thomas Monjalon
2015-06-17  8:23     ` Marc Sune
2015-06-17 11:17   ` Bruce Richardson [this message]
2015-06-18 16:32     ` Dumitrescu, Cristian
2015-06-18 13:25   ` Dumitrescu, Cristian
2015-06-17  9:54 ` Morten Brørup
2015-06-18 13:00   ` Dumitrescu, Cristian
2015-06-17 10:35 ` Neil Horman
2015-06-17 11:06   ` Richardson, Bruce
2015-06-19 11:08     ` Mcnamara, John
2015-06-17 12:14   ` Panu Matilainen
2015-06-17 13:21     ` Vincent JARDIN
2015-06-18  8:36   ` Zhang, Helin
2015-06-18 16:55 ` O'Driscoll, Tim
2015-06-18 21:13   ` Vincent JARDIN
2015-06-19 10:26   ` Neil Horman
2015-06-19 12:32     ` Thomas Monjalon
2015-06-19 13:02       ` Neil Horman
2015-06-19 13:16         ` Thomas Monjalon
2015-06-19 15:27           ` Neil Horman
2015-06-19 15:51             ` Thomas Monjalon
2015-06-19 16:13           ` Thomas F Herbert
2015-06-19 17:02             ` Thomas Monjalon
2015-06-19 17:57               ` Thomas F Herbert

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=20150617111709.GA6752@bricha3-MOBL3 \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=mhall@mhcomputing.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).