From: Oleg Verych <olecom@flower.upol.cz>
To: rae l <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: Mon, 25 Jun 2007 00:25:18 +0200 [thread overview]
Message-ID: <20070624222518.GA10398@flower.upol.cz> (raw)
In-Reply-To: <91b13c310706240558p70dbaed2g570b57ab480aa974@mail.gmail.com>
On Sun, Jun 24, 2007 at 08:58:10PM +0800, rae l wrote:
> On 6/23/07, Oleg Verych <olecom@flower.upol.cz> wrote:
> >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?
> here is the objdump output of the two object files:
> As you could see, the older one used 0x38 bytes stack space while the
> new one used 0x28 bytes,
> and the object code is two bytes less,
Actually more: $((0x3d9 - 0x3ce))
> I think all these benefits are the gcc's __builtin_memset optimization
> than the explicit call to memset.
... or from complex memset() implementation (some chips even didn't do
`rep' fast enough somehow). Maybe code like below will be acceptable for
both optimizers and maintainers?
|-*-
unsigned long max_zone_pfns[MAX_NR_ZONES] = {
[ZONE_DMA] = MAX_DMA_PFN,
[ZONE_DMA32] = MAX_DMA32_PFN,
[ZONE_NORMAL] = end_pfn,
[ZONE_MOVABLE] = 0UL
};
|-*-
> $ objdump -d /tmp/init.orig.o|grep -A23 -nw '<paging_init>'
[]
> 547- 3d9: c3 retq
[]
> 545- 3ce: c3 retq
[]
> >
> >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.
> with '{}' initializer, gcc will fill its memory with zeros.
>
> to other potential points to be optimized, I only see this trivial as
> the first point, I wonder how people gives comments on this; and if
> this optimization can be tested correctly, this can be done as an
> optimization example and I'll try others.
Yes, comments and discussion is most important thing. But with such
propositions you will be better in the kernel-janitors list.
> >
> >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.
> Thank you, I know it and I've already subscribed the linux kernel
> mailing list(linux-kernel@vger.kernel.org) so that I won't miss any
> further discussion about it.
OK, but news<=>e-mail service, like Gmane is much nicer.
> >
> >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.
> What about that?
> Do you mean something such as git by "an automatic system"?
That was a side note.
____
next prev parent reply other threads:[~2007-06-24 22:12 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
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 [this message]
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=20070624222518.GA10398@flower.upol.cz \
--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;
as well as URLs for NNTP newsgroup(s).