All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] OMAP4: speed up booting on Pandaboard
Date: Fri, 05 Nov 2010 16:44:31 +0200	[thread overview]
Message-ID: <4CD4184F.6020601@globallogic.com> (raw)
In-Reply-To: <4CD402C4.7080309@gmail.com>

On 11/05/2010 03:12 PM, Nishanth Menon wrote:
> Sergiy Kibrik wrote, on 11/05/2010 08:35 AM:
>> On 11/04/2010 05:46 PM, Nishanth Menon wrote:
>>> Sergiy Kibrik wrote, on 11/04/2010 05:38 AM:
>>>> Improved default config for OMAP4 Pandaboard for faster boot:
>>>>      -reduced environment size to speed up memory initialization;
>>>>      -USB TTY driver turned off;
>>> Do we really want to do this?
>>
>> well, Pandaboard has serial port. It can be used instead of usbtty
> how about all those folks who dont have a serial cable handy instead
> would like to power the board + see the terminal over usb?

you're right, it can be the reason not to touch usbtty now.

> 
>>
>>>>      -tweaked blob load address to avoid image relocation (according to
>>>> default uImage load address);
>>>>
>>>> Signed-off-by: Sergiy Kibrik<sergiy.kibrik@globallogic.com>
>>> What kind of savings did we get? I am guessing we have some time x
>>> savings..
>>>
>>
>> reducing ENV_SIZE saves ~0.2 s.
>> turning off usbtty saves ~0.2 s.
>> changing loadaddr saves about a second. As shown my measurements, all
>> introduced changes save
>> about 1.3 - 1.5 seconds.
> for what? getting to u-boot shell prompt? if so, I wonder how it does it
> actually happen.
> 

no, not getting shell, but jumping to kernel. But even in case of getting shell, why we have to wait 1 more second?

>>
>>>> ---
>>>>    include/configs/omap4_panda.h |    8 ++++----
>>>>    1 files changed, 4 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/include/configs/omap4_panda.h
>>>> b/include/configs/omap4_panda.h
>>>> index 74defab..5aba424 100644
>>>> --- a/include/configs/omap4_panda.h
>>>> +++ b/include/configs/omap4_panda.h
>>>> @@ -62,10 +62,10 @@
>>>>
>>>>    /*
>>>>     * Size of malloc() pool
>>>> - * Total Size Environment - 256k
>>>> + * Total Size Environment - 2k
>>>>     * Malloc - add 256k
>>>>     */
>>>> -#define CONFIG_ENV_SIZE            (256<<   10)
>>>> +#define CONFIG_ENV_SIZE            (256<<   4)
>>> /me likes the change, but not sure how it saves boot time.
>>
>> again, it's about 0.2 seconds
> 
> surprised how changing env saves 0.2 seconds - apologies, I dont have a
> panda on hand at the moment to do some actual tests with the board and
> patch :(

I guess it's because of memory initializaion issues in mem_malloc_init(), and because of 256k environment it takes longer to do memset.

> 
>>
>>>
>>>>    #define CONFIG_SYS_MALLOC_LEN        (CONFIG_ENV_SIZE + (256<<  
>>>> 10))
>>>>                            /* initial data */
>>>>    /* Vector Base */
>>>> @@ -117,7 +117,7 @@
>>>>
>>>>    /* USB device configuration */
>>>>    #define CONFIG_USB_DEVICE        1
>>>> -#define CONFIG_USB_TTY            1
>>>> +#undef CONFIG_USB_TTY
>>> do we need to have the undef? it might be better to just drop the define
>>> perhaps? what impact do we have on boot time with this change?
>>
>> if someone wants to turn usbtty again, he can simply #define variable
>> again,
>> in case we drop the whole line it may be slightly harder to find out
> proper
>> variable in the code and then #define it all over again. I just thought
>>keeping it will clarify config in some way.
> 
> adding a comment will help
> /* enable this to get tty over usb */

THX, I'l do that.

>>>
>>>>    #define CONFIG_SYS_CONSOLE_IS_IN_ENV    1
>>>>
>>>>    /* Flash */
>>>> @@ -146,7 +146,7 @@
>>>>    #define CONFIG_ENV_OVERWRITE
>>>>
>>>>    #define CONFIG_EXTRA_ENV_SETTINGS \
>>>> -    "loadaddr=0x82000000\0" \
>>>> +    "loadaddr=0x80007FC0\0" \
>>> btw, Dumb question: how did we decide on this address? building from
>>> kernel.org, I see System.map @ c0004000 ==>  80004000
>>>
>>> when I do make uImage,
>>> /bin/bash /home/nmenon/Src/opensource/linux-2.6/scripts/mkuboot.sh -A
>>> arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n
>>> 'Linux-2.6.37-rc1-00005-gd88c092'
>>>
>> 0x80007FC0 is kernel load address (0x80008000) minus size of u-boot
>> header (64 bytes). So load address is exactly the same as image
>> address inside loaded blob, and we avoid memmoving kernel to it's load
>> address.
> thanks for the clarification -> it might be good for us to come up with
> something a bit more automated as you can, in theory run mkuboot.sh with
> a different address.
> 

in theory yes, but practically it's just a default config for default uImage target.
Can you suggest a way to coordinate load addresses across kernel & bootloader build?

  reply	other threads:[~2010-11-05 14:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-04  9:38 [U-Boot] [PATCH] OMAP4: speed up booting on Pandaboard Sergiy Kibrik
2010-11-04 15:46 ` Nishanth Menon
2010-11-05 12:35   ` Sergiy Kibrik
2010-11-05 13:12     ` Nishanth Menon
2010-11-05 14:44       ` Sergiy Kibrik [this message]
2010-11-05 15:49         ` Nishanth Menon
2010-11-05 16:55           ` Sergiy Kibrik
     [not found] ` <AANLkTimzqVd6NqJ-s6-2Vw1gNbiOgJKHjNs-teTz5wFY@mail.gmail.com>
2010-11-04 18:10   ` [U-Boot] Fwd: " Steve Sakoman
2010-11-14 21:18 ` [U-Boot] " Wolfgang Denk
2010-11-15 10:26   ` Sergiy Kibrik

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=4CD4184F.6020601@globallogic.com \
    --to=sergiy.kibrik@globallogic.com \
    --cc=u-boot@lists.denx.de \
    /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.