DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Thomas Monjalon <thomas.monjalon@6wind.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] examples/distributor: fix missing "; " in debug macro
Date: Tue, 23 Jun 2015 17:00:08 +0100	[thread overview]
Message-ID: <20150623160007.GA2460@bricha3-MOBL3> (raw)
In-Reply-To: <3471063.5PjCouUNn0@xps13>

On Mon, Jun 22, 2015 at 10:53:25PM +0200, Thomas Monjalon wrote:
> 2015-06-08 11:58, Bruce Richardson:
> > On Fri, Jun 05, 2015 at 10:45:04PM +0200, Thomas Monjalon wrote:
> > > It shows that such dead code is almost never tested.
> > > It would be saner if this command would return no result:
> > > 	git grep 'ifdef.*DEBUG' examples
> > > 		examples/distributor/main.c:#ifdef DEBUG
> > > 		examples/l3fwd-acl/main.c:#ifdef L3FWDACL_DEBUG
> > > 		examples/l3fwd-acl/main.c:#ifdef L3FWDACL_DEBUG
> > > 		examples/l3fwd-acl/main.c:#ifdef L3FWDACL_DEBUG
> > > 		examples/l3fwd-acl/main.c:#ifdef L3FWDACL_DEBUG
> > > 		examples/packet_ordering/main.c:#ifdef DEBUG
> > > 		examples/vhost/main.c:#ifdef DEBUG
> > > 		examples/vhost/main.h:#ifdef DEBUG
> > > 		examples/vhost_xen/main.c:#ifdef DEBUG
> > > 		examples/vhost_xen/main.h:#ifdef DEBUG
> > > 
> > > There is no good reason to not use CONFIG_RTE_LOG_LEVEL to trigger debug build.
> > > 
> > I agree and disagree. 
> > 
> > I agree it would be good if we had a standard way of setting up
> > a DEBUG build that would make it easier to test and pick up on this sort of things.
> > 
> > I disagree that the compile time log level is the way to do this. The log level
> > at compile time specifies the default log level only, the actual log level is
> > controllable at runtime. Having the default log level also affect what kind of
> > build is done, e.g. with -O0 rather than -O3, introduces an unnecessary dependency.
> > Setting the default log level to 5 and changing it to 9 at runtime should be
> > the same as setting the default to 9.
> 
> Setting CONFIG_RTE_LOG_LEVEL to 9 means we don't care about performance
> degradation due to debug log branches. So it is necessarily a debug build.
> Then the default log level must be set by the application.
> The EAL default set from CONFIG_RTE_LOG_LEVEL is a last chance default in
> case the application doesn't care about it.
> 
> Maybe it won't convince you but anyway, it's not important here because the
> example applications don't use the DEBUG flag for anything else than the logs.
> That's why I think these flags must be removed.
> Please check "git grep 'ifdef.*DEBUG' examples".
> 

For checking if the app cares about performance, I would check the
__optimize__ define rather than having a specific DEBUG macro, or using the
DEFAULT_LOG_LEVEL setting.

/Bruce

  reply	other threads:[~2015-06-23 16:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-05 16:01 Bruce Richardson
2015-06-05 20:45 ` Thomas Monjalon
2015-06-08 10:58   ` Bruce Richardson
2015-06-10  0:33     ` Stephen Hemminger
2015-06-22 20:53     ` Thomas Monjalon
2015-06-23 16:00       ` Bruce Richardson [this message]
2015-06-22 20:36 ` Thomas Monjalon

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=20150623160007.GA2460@bricha3-MOBL3 \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas.monjalon@6wind.com \
    /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).