All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Baron <jbaron@redhat.com>
To: Joe Perches <joe@perches.com>
Cc: gregkh@suse.de, jim.cromie@gmail.com, bvanassche@acm.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 09/11 re-post take #2] dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions
Date: Tue, 16 Aug 2011 09:59:55 -0400	[thread overview]
Message-ID: <20110816135955.GA2575@redhat.com> (raw)
In-Reply-To: <1313449947.22221.13.camel@Joe-Laptop>

On Mon, Aug 15, 2011 at 04:12:27PM -0700, Joe Perches wrote:
> On Mon, 2011-08-15 at 16:44 -0400, Jason Baron wrote:
> > Replace the repetitive  struct _ddebug descriptor definitions with
> > a new DECLARE_DYNAMIC_DEBUG_META_DATA(name, fmt) macro.
> []
> > diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
> []
> > +#define DECLARE_DYNAMIC_DEBUG_METADATA(name, fmt)		\
> > +	static struct _ddebug __used __aligned(8)		\
> > +	__attribute__((section("__verbose"))) name = {		\
> []
> 
> Jason, just one more thing...
> 
> Because the original struct _ddebug definition
> above this uses __attribute__((aligned(8))),
> 
> struct _ddebug {
> 	[...]
> } __attribute__((aligned(8)));
> 
> ( and I suppose that should be __aligned(8) instead )
> 
> the __aligned(8) use in DECLARE_DYNAMIC_DEBUG_METADATA
> is not necessary.
> 
> cheers, Joe
> 

Hi Joe,

hmmm....what we probably need here, is an extra array of pointers into
the dynamic debug structures. The reason being is that 'aligned' only
specifies the minimum alignment, so the dynamic debug structures could
be aligned to higher multiples, thus leaving extra padding. Since the
dynamic debug code relies on a contiguous array this could lead to NULl
pointer exceptions. This has been implemented for tracepoints, see: 
https://lkml.org/lkml/2011/1/26/463. I haven't seen this issue in
practice though...

So I'm going to leave the extra alignment specifications for now (they
can't hurt), and at some point we probably need to look at the approach
mentioned above.

Thanks,

-Jason

  reply	other threads:[~2011-08-16 14:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-11 18:36 [PATCH 00/11] various fixes v3 Jason Baron
2011-08-11 18:36 ` [PATCH 01/11] dynamic_debug: Add __dynamic_dev_dbg Jason Baron
2011-08-11 18:36 ` [PATCH 02/11] dynamic_debug: Consolidate prefix output to single routine Jason Baron
2011-08-11 18:36 ` [PATCH 03/11] dynamic_debug: Remove uses of KERN_CONT in dynamic_emit_prefix Jason Baron
2011-08-11 18:36 ` [PATCH 04/11] dynamic_debug: Convert printks to pr_<level> Jason Baron
2011-08-11 18:36 ` [PATCH 05/11] dynamic_debug: remove unused control variables Jason Baron
2011-08-11 18:36 ` [PATCH 06/11] dynamic_debug: add Jason Baron as maintainer Jason Baron
2011-08-11 18:36 ` [PATCH 07/11] dynamic_debug: make netdev_dbg() call __netdev_printk() Jason Baron
2011-09-01 14:57   ` [PATCH ] dynamic_debug: call __netdev_printk only for CONFIG_NET Arnd Bergmann
2011-09-01 15:18     ` Jason Baron
2011-09-18  8:27       ` Greg KH
2011-09-18 17:21         ` Randy Dunlap
2011-09-18 18:27           ` Greg KH
2011-09-18 18:42             ` Randy Dunlap
2011-09-19 13:48         ` Jason Baron
2011-09-19 16:49           ` Randy Dunlap
2011-08-11 18:36 ` [PATCH 08/11] dynamic_debug: make netif_dbg() call __netdev_printk() Jason Baron
2011-08-11 18:36 ` [PATCH 09/11] dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions Jason Baron
2011-08-11 19:02   ` Joe Perches
2011-08-11 20:52     ` [PATCH 09/11 re-post] " Jason Baron
2011-08-12  6:39       ` Joe Perches
2011-08-15 20:44         ` [PATCH 09/11 re-post take #2] " Jason Baron
2011-08-15 23:12           ` Joe Perches
2011-08-16 13:59             ` Jason Baron [this message]
2011-08-11 18:37 ` [PATCH 10/11] dynamic_debug: remove num_enabled accounting Jason Baron
2011-08-11 18:37 ` [PATCH 11/11] dynamic_debug: use a single printk() to emit msgs Jason Baron
2011-08-23  1:32 ` [PATCH 00/11] various fixes v3 Greg KH
2011-08-23 13:54   ` Jason Baron
2011-08-23 15:15     ` Greg KH

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=20110816135955.GA2575@redhat.com \
    --to=jbaron@redhat.com \
    --cc=bvanassche@acm.org \
    --cc=gregkh@suse.de \
    --cc=jim.cromie@gmail.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.