From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: Clemens Ladisch <clemens@ladisch.de>
Cc: Timur Tabi <timur.tabi@calxeda.com>,
Mark Langsdorf <mark.langsdorf@calxeda.com>,
tj@kernel.org, linux-kernel@vger.kernel.org,
linux-ide@vger.kernel.org
Subject: Re: [PATCH v2] ata: increase retry count but shorten duration for Calxeda controller
Date: Fri, 31 May 2013 17:13:57 +0400 [thread overview]
Message-ID: <51A8A215.2030706@cogentembedded.com> (raw)
In-Reply-To: <51A848F1.3040301@ladisch.de>
Hello.
On 31-05-2013 10:53, Clemens Ladisch wrote:
>>>> + const unsigned long timing[] = { 5, 100, 500};
>>> You'll save space and time if you also make this array "static",
>>> otherwise the compiler will build the array every time this function is
>>> called.
>> No, *const* specifier is enough to not build this array every time. It will be put into the .const section.
> gcc disagrees:
> $ cat const_static.c
> int f(int x) {
> const unsigned long timing[] = { 5, 100, 500};
> static const unsigned long timing2[] = { 5, 100, 500};
> return timing[x] + timing2[x];
> }
> $ gcc -Os -S const_static.c
> $ cat const_static.s
...
> timing2.0:
> .long 5
> .long 100
> .long 500
> ...
> movl 8(%ebp), %edx
> movl $5, -16(%ebp)
> movl $100, -12(%ebp)
> movl $500, -8(%ebp)
> movl timing2.0(,%edx,4), %eax
> addl -16(%ebp,%edx,4), %eax
Hm, I remember I was convinced by somebody just *const* was enough
for the data to be put to .const section. Don't remember if he gave an
object code example... Well, it means that person was wrong. Mark, we
then need *static* as well...
> Regards,
> Clemens
WBR, Sergei
next prev parent reply other threads:[~2013-05-31 13:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-30 14:18 [PATCH v2] ata: increase retry count but shorten duration for Calxeda controller Mark Langsdorf
2013-05-30 14:26 ` Timur Tabi
2013-05-30 14:38 ` Sergei Shtylyov
2013-05-30 14:39 ` Timur Tabi
2013-05-31 6:53 ` Clemens Ladisch
2013-05-31 7:40 ` Tejun Heo
2013-05-31 13:13 ` Sergei Shtylyov [this message]
2013-05-31 1:20 ` Tejun Heo
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=51A8A215.2030706@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded.com \
--cc=clemens@ladisch.de \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.langsdorf@calxeda.com \
--cc=timur.tabi@calxeda.com \
--cc=tj@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