public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Oleg Verych <olecom@flower.upol.cz>
To: Denis Cheng <crquan@gmail.com>
Cc: trivial@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] trivial: the memset operation on a automatic array variable should be optimized out by data initialization
Date: Sat, 23 Jun 2007 09:59:33 +0200	[thread overview]
Message-ID: <E1I20Wr-00064i-T0@flower> (raw)
In-Reply-To: <467cac85.081b600a.5b88.457f@mx.google.com>

* From: Denis Cheng
* Newsgroups: linux.kernel
* Date: Fri, 22 Jun 2007 22:15:49 -0700 (PDT)
 
> From: Denis Cheng <crquan@gmail.com>
>
> the explicit memset call could be optimized out by data initialization,
> thus all the fill working can be done by the compiler implicitly.

Can be optimized and can be done by compiler are just words;

> and C standard guaranteed all the unspecified data field initialized to zero.

standards and implementation are on opposite poles of magnet

> Signed-off-by: Denis Cheng <crquan@gmail.com>
>
> ---
> After comments in the former threads:
> http://lkml.org/lkml/2007/6/18/119

i see a patch

> http://lkml.org/lkml/2007/6/18/48

same patch.

> @@ -406,8 +406,8 @@ void __cpuinit zap_low_mappings(int cpu)
>  #ifndef CONFIG_NUMA
>  void __init paging_init(void)
>  {
> -	unsigned long max_zone_pfns[MAX_NR_ZONES];
> -	memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
> +	unsigned long max_zone_pfns[MAX_NR_ZONES] = {};
> +
>  	max_zone_pfns[ZONE_DMA] = MAX_DMA_PFN;
>  	max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN;
>  	max_zone_pfns[ZONE_NORMAL] = end_pfn;

Why not just show actual objdump output on code (maybe with different
oxygen atoms used in gcc), rather than *talking* about optimization and
standards, hm?

I bet, that will be a key for success. And if you are interested in such
optimizations, why not to grep whole source tree for this kind of
things? I'm not sure one function in arch/x86_64 is only such ``unoptimized''.
And after doing that maybe you will see, that "{}" initializer can be
applied not only to integer values (you did init with of *long int*,
with *int*, btw), but to structs and others.

Ahh, one more thing about _optimizing_ your time, i.e. not wasting one.

Add to CC list people, who already did reply on you patch. Otherwise
you are showing your disrespect for them and hiding from further
discussion.

I think you do not, but Linux development not have an automatic system
for patch tracking, so you are on your own with your text editor and
e-mail client on this. Please take care for your time.

--
  frenzy
-o--=O`C
 #oo'L O
<___=E M

  reply	other threads:[~2007-06-23  7:47 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-23  5:15 [PATCH] trivial: the memset operation on a automatic array variable should be optimized out by data initialization Denis Cheng
2007-06-23  7:59 ` Oleg Verych [this message]
2007-06-23 13:13   ` Adrian Bunk
2007-06-23 13:41     ` Oleg Verych
2007-06-23 13:57       ` Adrian Bunk
2007-06-23 15:21         ` Segher Boessenkool
2007-06-24 12:58   ` rae l
2007-06-24 22:25     ` Oleg Verych
2007-06-24 22:15       ` Arjan van de Ven
2007-06-24 23:23         ` Benjamin LaHaise
2007-06-25  0:09           ` Arjan van de Ven
2007-06-25  0:12             ` Benjamin LaHaise
2007-06-25  0:23               ` Arjan van de Ven
2007-06-25  0:41                 ` -Os versus -O2 Adrian Bunk
2007-06-25  0:58                   ` Arjan van de Ven
2007-06-25  1:08                     ` david
2007-06-25  1:17                       ` Arjan van de Ven
2007-06-25  1:33                         ` david
2007-06-25  1:41                           ` Rene Herman
2007-06-25  5:04                           ` Willy Tarreau
2007-06-25  7:08                             ` Segher Boessenkool
2007-06-25  7:15                               ` david
2007-06-25  7:41                                 ` Segher Boessenkool
2007-06-25  8:19                               ` Willy Tarreau
2007-06-25  8:41                                 ` Segher Boessenkool
2007-06-25  7:03                       ` Segher Boessenkool
2007-06-25  7:13                         ` david
2007-06-25  7:35                           ` Segher Boessenkool
2007-06-25  1:33                     ` Adrian Bunk
2007-06-25  1:23                   ` Rene Herman
2007-06-25  1:31                     ` Rene Herman
2007-06-25  1:34                   ` Jeff Garzik
2007-06-25  1:46                     ` Adrian Bunk
2007-06-25  2:19                       ` david
2007-06-24 23:33         ` memset() with zeroes (Re: [PATCH] trivial: the memset operation on a automatic array variable should be optimized out by data initialization) Oleg Verych
  -- strict thread matches above, loose matches on Subject: below --
2007-06-18 10:05 [PATCH] trivial: the memset operation on a automatic array variable should be optimized out by data initialization Denis Cheng
2007-06-18 10:25 ` Robert P. J. Day
2007-06-18 14:24   ` WANG Cong
2007-06-18 17:07 ` Jeremy Fitzhardinge
2007-06-19 13:27   ` Adrian Bunk
2007-06-21 13:21   ` rae l

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=E1I20Wr-00064i-T0@flower \
    --to=olecom@flower.upol.cz \
    --cc=crquan@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=trivial@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox