From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] [ARM] Translate delay.S into (mostly) C
Date: Tue, 05 Oct 2010 20:36:43 -0700 [thread overview]
Message-ID: <4CABEECB.4030301@codeaurora.org> (raw)
In-Reply-To: <1286299355.18791.11.camel@c-dwalke-linux.qualcomm.com>
On 10/05/2010 10:22 AM, Daniel Walker wrote:
> You shouldn't really reference this series in this comment. You have to
> look at this as a changeset comment. So you really want to describe what
> this change is doing not what the over all series is doing.
>
> It would be better to say something like,
>
> "We're implementing this in C to give us further flexibility in allowing
> overrides."
>
> But don't references "next patch" or "this series" , but you can do that
> in the intro email.
>
Why not? This is a common thing to do when multiple patches are related
to one topic. Doing a git log and searching for "next patch" shows
others doing the same.
>>
>> $ scripts/bloat-o-meter vmlinux.orig vmlinux.new
>> add/remove: 0/0 grow/shrink: 2/0 up/down: 12/0 (12)
>> function old new delta
>> __udelay 48 56 +8
>> __const_udelay 40 44 +4
>
> I think the "size" command might be better for this type of stuff. It
> should give you the same output (or similar).. It's just used more
> frequently.
Ok.
$ size vmlinux.orig
text data bss dec hex filename
6533503 530232 1228296 8292031 7e86bf vmlinux.orig
$ size vmlinux.new
text data bss dec hex filename
6533607 530232 1228296 8292135 7e8727 vmlinux.new
I should mention GCC decided to inline __delay() into __udelay() and
__const_udelay() and also decided to inline __const_udelay() into
__delay() meaning we lost the function interleaving the assembly file
had. I'll make a note of that and sorry for being misleading.
> Is this an -Os kernel, or -O2 ?
-Os.
>> +/*
>> + * 0 <= xloops <= 0x7fffff06
>> + * loops_per_jiffy <= 0x01ffffff (max. 3355 bogomips)
>
> As long as your doing a re-write may as well add some real text here,
> and for the others.
Any suggestions on what to add? I hoped the original comments would be
good enough already considering the code is unchanged.
>> + */
>> +void __const_udelay(unsigned long xloops)
>> +{
>> + unsigned long lpj;
>> + unsigned long loops;
>> +
>> + xloops >>= 14; /* max = 0x01ffffff */
>> + lpj = loops_per_jiffy >> 10; /* max = 0x0001ffff */
>> + loops = lpj * xloops; /* max = 0x00007fff */
>> + loops >>= 6; /* max = 2^32-1 */
>> +
>> + if (loops)
>> + __delay(loops);
>
> likely/unlikely ?
likely. Although I'm doubtful on how much it will help considering the
assembly and the code are equivalent already for this part of the code.
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
next prev parent reply other threads:[~2010-10-06 3:36 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-28 3:33 [PATCH 0/3] Fixing udelay() on SMP (and non-SMP too) Stephen Boyd
2010-09-28 3:33 ` [PATCH 1/3] [ARM] Translate delay.S into (mostly) C Stephen Boyd
2010-10-05 17:22 ` Daniel Walker
2010-10-06 3:36 ` Stephen Boyd [this message]
2010-10-06 13:38 ` Daniel Walker
2010-10-06 14:26 ` Nicolas Pitre
2010-10-06 18:30 ` Stephen Boyd
2010-10-06 19:35 ` Daniel Walker
2010-10-06 20:05 ` Nicolas Pitre
2010-10-08 0:11 ` Stephen Boyd
2010-10-08 1:12 ` Nicolas Pitre
2010-10-06 20:24 ` Stephen Boyd
2010-09-28 3:33 ` [PATCH 2/3] [ARM] Allow machines to override __delay() Stephen Boyd
2010-10-05 17:29 ` Daniel Walker
2010-10-06 3:36 ` Stephen Boyd
2010-09-28 3:33 ` [PATCH 3/3] [ARM] Implement a timer based __delay() loop Stephen Boyd
2010-10-05 17:38 ` Daniel Walker
2010-10-06 3:36 ` Stephen Boyd
2010-10-06 13:44 ` Daniel Walker
-- strict thread matches above, loose matches on Subject: below --
2010-09-07 18:23 [PATCH 0/3] Fixing udelay() on SMP (and non-SMP too) Stephen Boyd
2010-09-07 18:23 ` [PATCH 1/3] [ARM] Translate delay.S into (mostly) C Stephen Boyd
2010-08-19 2:24 [PATCH 0/3] Fixing udelay() on SMP (and non-SMP too) Stephen Boyd
2010-08-19 2:24 ` [PATCH 1/3] [ARM] Translate delay.S into (mostly) C Stephen Boyd
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=4CABEECB.4030301@codeaurora.org \
--to=sboyd@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.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).