All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Jan Beulich <JBeulich@suse.com>
Cc: Michal Marek <mmarek@suse.cz>, linux-kbuild@vger.kernel.org
Subject: Re: [PATCH] consolidate WARN_...ONCE() static variables
Date: Wed, 4 Jan 2012 15:03:05 -0800	[thread overview]
Message-ID: <20120104150305.8b2ab00c.akpm@linux-foundation.org> (raw)
In-Reply-To: <4EF3609D0200007800069A30@nat28.tlf.novell.com>

On Thu, 22 Dec 2011 15:53:49 +0000
"Jan Beulich" <JBeulich@suse.com> wrote:

> Due to the alignment of following variables, these typically consume
> more than just the single byte that 'bool' requires, and as there are
> a few hundred instances, the cache pollution (not so much the waste of
> memory) sums op. Put these variables into their own section, outside
> of half way frequently used memory range.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> ---
>  include/asm-generic/bug.h         |    6 +++---
>  include/asm-generic/vmlinux.lds.h |    1 +
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> --- 3.2-rc6/include/asm-generic/bug.h
> +++ 3.2-rc6-warn-once-flag-cold/include/asm-generic/bug.h
> @@ -134,7 +134,7 @@ extern void warn_slowpath_null(const cha
>  #endif
>  
>  #define WARN_ON_ONCE(condition)	({				\
> -	static bool __warned;					\
> +	static bool __section(.data.unlikely) __warned;		\
>  	int __ret_warn_once = !!(condition);			\
>  								\
>  	if (unlikely(__ret_warn_once))				\
> @@ -144,7 +144,7 @@ extern void warn_slowpath_null(const cha
>  })
>  
>  #define WARN_ONCE(condition, format...)	({			\
> -	static bool __warned;					\
> +	static bool __section(.data.unlikely) __warned;		\
>  	int __ret_warn_once = !!(condition);			\
>  								\
>  	if (unlikely(__ret_warn_once))				\
> @@ -154,7 +154,7 @@ extern void warn_slowpath_null(const cha
>  })
>  
>  #define WARN_TAINT_ONCE(condition, taint, format...)	({	\
> -	static bool __warned;					\
> +	static bool __section(.data.unlikely) __warned;		\
>  	int __ret_warn_once = !!(condition);			\
>  								\
>  	if (unlikely(__ret_warn_once))				\
> --- 3.2-rc6/include/asm-generic/vmlinux.lds.h
> +++ 3.2-rc6-warn-once-flag-cold/include/asm-generic/vmlinux.lds.h
> @@ -167,6 +167,7 @@
>  	CPU_KEEP(exit.data)						\
>  	MEM_KEEP(init.data)						\
>  	MEM_KEEP(exit.data)						\
> +	*(.data.unlikely)						\
>  	STRUCT_ALIGN();							\
>  	*(__tracepoints)						\
>  	/* implement dynamic printk debug */				\

The patch seems reasonable.

printk_once() should also be converted.  And ata_print_version_once(),
if it insists on continuing to exist.  Also rcu_lockdep_assert().

My MUA (sylpheed) is unable to generate a plain-text version of the
patch for me, so much hand-editing will be needed.  It would be nice
if the patch could be demangled at the sending end, please.

I agree that linux-kernel should have been cc'ed on a change of this
nature.

  parent reply	other threads:[~2012-01-04 23:03 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-22 15:53 [PATCH] consolidate WARN_...ONCE() static variables Jan Beulich
2011-12-22 17:13 ` Arnaud Lacombe
2011-12-23  7:52   ` Jan Beulich
2011-12-23  7:52     ` Jan Beulich
2012-01-04 23:03 ` Andrew Morton [this message]
2012-01-05 11:09   ` Jan Beulich
2012-01-05 21:03     ` Andrew Morton
2012-01-06  7:40       ` Jan Beulich
2012-01-06  7:40         ` Jan Beulich
2012-01-06 11:03         ` Andrew Morton
2012-01-06 11:03           ` Andrew Morton
2012-01-06 12:38           ` Jan Beulich
2012-01-06 12:38             ` Jan Beulich

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=20120104150305.8b2ab00c.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=JBeulich@suse.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=mmarek@suse.cz \
    /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.