Any way to do time keeping during kernel uncompression[ARM architecture]
Hi All On ARM, Just for learning i am working on booting with uncompressed kernel. I am meddling with arch/arm/boot/compressed/head.S, and understand the relocation/decompression stuff through putting some logs. I want to check how much time it takes for kernel to relocate itself and how much time it takes to decompress etc., Is there any possibility of seeing the current time stamp here, like a register which keeps on counting immediately after boot.. With regards, Sandeep Kumar Anantapalli,
Hey sandeep, On Wed, Jan 30, 2013 at 5:30 PM, sandeep kumar <coolsandyforyou@gmail.com> wrote:
Hi All On ARM, Just for learning i am working on booting with uncompressed
kernel.
I am meddling with arch/arm/boot/compressed/head.S, and understand the
relocation/decompression stuff through putting some logs.
I want to check how much time it takes for kernel to relocate itself and
how much time it takes to decompress etc.,
Is there any possibility of seeing the current time stamp here, like a
register which keeps on counting immediately after boot.. You're essentially running at the bootloader level here. You haven't started the kernel so the only timers that you have are whatever your bootloader has setup, or whatever you want to setup yourself (bare-metal programming here). -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com
Hi Dave. Ok Can you tell me which thing runs faster ? 1)Copy *zImage(compressed kernel)* from flash to Ram, jump to start, Relocate compress kernel, uncompress it... 2)Copy* Image(uncompressed one) *from flash to RAM and run it right away... My gut feeling says second one is better, thats what i m trying to prove here... :) Thanks Sandeep. On Wed, Jan 30, 2013 at 5:55 PM, Dave Hylands <dhylands@gmail.com> wrote:
Hey sandeep,
On Wed, Jan 30, 2013 at 5:30 PM, sandeep kumar <coolsandyforyou@gmail.com> wrote:
Hi All On ARM, Just for learning i am working on booting with uncompressed
kernel.
I am meddling with arch/arm/boot/compressed/head.S, and understand the
relocation/decompression stuff through putting some logs.
I want to check how much time it takes for kernel to relocate itself and
how much time it takes to decompress etc.,
Is there any possibility of seeing the current time stamp here, like a
register which keeps on counting immediately after boot..
You're essentially running at the bootloader level here. You haven't started the kernel so the only timers that you have are whatever your bootloader has setup, or whatever you want to setup yourself (bare-metal programming here).
-- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com
-- With regards, Sandeep Kumar Anantapalli,
Adding to above... zImage is 6MB Image is 16MB in our case. On Wed, Jan 30, 2013 at 6:35 PM, sandeep kumar <coolsandyforyou@gmail.com>wrote:
Hi Dave. Ok Can you tell me which thing runs faster ? 1)Copy *zImage(compressed kernel)* from flash to Ram, jump to start, Relocate compress kernel, uncompress it... 2)Copy* Image(uncompressed one) *from flash to RAM and run it right away...
My gut feeling says second one is better, thats what i m trying to prove here... :)
Thanks Sandeep.
On Wed, Jan 30, 2013 at 5:55 PM, Dave Hylands <dhylands@gmail.com> wrote:
Hey sandeep,
On Wed, Jan 30, 2013 at 5:30 PM, sandeep kumar <coolsandyforyou@gmail.com> wrote:
Hi All On ARM, Just for learning i am working on booting with uncompressed
kernel.
I am meddling with arch/arm/boot/compressed/head.S, and understand the
relocation/decompression stuff through putting some logs.
I want to check how much time it takes for kernel to relocate itself
and how much time it takes to decompress etc.,
Is there any possibility of seeing the current time stamp here, like a
register which keeps on counting immediately after boot..
You're essentially running at the bootloader level here. You haven't started the kernel so the only timers that you have are whatever your bootloader has setup, or whatever you want to setup yourself (bare-metal programming here).
-- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com
-- With regards, Sandeep Kumar Anantapalli,
-- With regards, Sandeep Kumar Anantapalli,
Hi Sandeep On Wed, Jan 30, 2013 at 6:35 PM, sandeep kumar <coolsandyforyou@gmail.com> wrote:
Hi Dave. Ok Can you tell me which thing runs faster ? 1)Copy zImage(compressed kernel) from flash to Ram, jump to start,
Relocate compress kernel, uncompress it...
2)Copy Image(uncompressed one) from flash to RAM and run it right away...
My gut feeling says second one is better, thats what i m trying to prove here... :)
It depends on numerous factors: 1 - Your flash speed 2 - Your RAM speed 3 - Your CPU speed 4 - Whether you have code and/or data caches enabled If you enable the caches, use DMA from NAND (so make your NAND as fast as possible), then option 1 usually blows away option 2, but your mileage may vary. Dave Hylands
Dear All FYI: I got the below data in my board... For Zimage: Copy from eMMC to RAM(bootloader) & other stuff in bootloader -- 200msec Kernel relocation --- 1msec Kernel uncompression -- 700msec Total time taken --- 900msec approx For Image: Copy from eMMC to RAM(bootloader) & other stuff in bootloader -- 1400msec So in case of Uncompressed kernel image.. even though it doesnt need kernel uncompression, it is taking 500msec more in bootloader. Thanks Sandeep On Thu, Jan 31, 2013 at 12:46 PM, Dave Hylands <dhylands@gmail.com> wrote:
Hi Sandeep
On Wed, Jan 30, 2013 at 6:35 PM, sandeep kumar <coolsandyforyou@gmail.com> wrote:
Hi Dave. Ok Can you tell me which thing runs faster ? 1)Copy zImage(compressed kernel) from flash to Ram, jump to start,
Relocate compress kernel, uncompress it...
2)Copy Image(uncompressed one) from flash to RAM and run it right away...
My gut feeling says second one is better, thats what i m trying to prove here... :)
It depends on numerous factors: 1 - Your flash speed 2 - Your RAM speed 3 - Your CPU speed 4 - Whether you have code and/or data caches enabled
If you enable the caches, use DMA from NAND (so make your NAND as fast as possible), then option 1 usually blows away option 2, but your mileage may vary.
Dave Hylands
-- With regards, Sandeep Kumar Anantapalli,
On Wed, Feb 6, 2013 at 3:53 AM, sandeep kumar <coolsandyforyou@gmail.com>wrote:
Dear All FYI: I got the below data in my board... For Zimage: Copy from eMMC to RAM(bootloader) & other stuff in bootloader -- 200msec Kernel relocation --- 1msec Kernel uncompression -- 700msec Total time taken --- 900msec approx
For Image: Copy from eMMC to RAM(bootloader) & other stuff in bootloader -- 1400msec
So in case of Uncompressed kernel image.. even though it doesnt need kernel uncompression, it is taking 500msec more in bootloader.
Thanks Sandeep
How did you measure these times ? On Thu, Jan 31, 2013 at 12:46 PM, Dave Hylands <dhylands@gmail.com> wrote:
Hi Sandeep
On Wed, Jan 30, 2013 at 6:35 PM, sandeep kumar <coolsandyforyou@gmail.com> wrote:
Hi Dave. Ok Can you tell me which thing runs faster ? 1)Copy zImage(compressed kernel) from flash to Ram, jump to start,
Relocate compress kernel, uncompress it...
2)Copy Image(uncompressed one) from flash to RAM and run it right away...
My gut feeling says second one is better, thats what i m trying to prove here... :)
It depends on numerous factors: 1 - Your flash speed 2 - Your RAM speed 3 - Your CPU speed 4 - Whether you have code and/or data caches enabled
If you enable the caches, use DMA from NAND (so make your NAND as fast as possible), then option 1 usually blows away option 2, but your mileage may vary.
Dave Hylands
-- With regards, Sandeep Kumar Anantapalli,
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Dear Abu On our board we have a dedicated register to measure the ticks, right from the "POWER key press". This register is incremented 32567 times every second. We directly read the register with physical address(MMU is not turned on bootloader, during uncompress_kernel MMU& is on but still one on one mapping) values to know the current timing from boot up. I profiled at the places where zImage copying happens & decompress_kernel functions(misc.c) & "restart:" label in head.S. and got the above results. Regards Sandeep. On Thu, Feb 7, 2013 at 1:52 AM, Abu Rasheda <rcpilot2010@gmail.com> wrote:
On Wed, Feb 6, 2013 at 3:53 AM, sandeep kumar <coolsandyforyou@gmail.com>wrote:
Dear All FYI: I got the below data in my board... For Zimage: Copy from eMMC to RAM(bootloader) & other stuff in bootloader -- 200msec Kernel relocation --- 1msec Kernel uncompression -- 700msec Total time taken --- 900msec approx
For Image: Copy from eMMC to RAM(bootloader) & other stuff in bootloader -- 1400msec
So in case of Uncompressed kernel image.. even though it doesnt need kernel uncompression, it is taking 500msec more in bootloader.
Thanks Sandeep
How did you measure these times ?
On Thu, Jan 31, 2013 at 12:46 PM, Dave Hylands <dhylands@gmail.com>wrote:
Hi Sandeep
On Wed, Jan 30, 2013 at 6:35 PM, sandeep kumar < coolsandyforyou@gmail.com> wrote:
Hi Dave. Ok Can you tell me which thing runs faster ? 1)Copy zImage(compressed kernel) from flash to Ram, jump to start,
Relocate compress kernel, uncompress it...
2)Copy Image(uncompressed one) from flash to RAM and run it right away...
My gut feeling says second one is better, thats what i m trying to prove here... :)
It depends on numerous factors: 1 - Your flash speed 2 - Your RAM speed 3 - Your CPU speed 4 - Whether you have code and/or data caches enabled
If you enable the caches, use DMA from NAND (so make your NAND as fast as possible), then option 1 usually blows away option 2, but your mileage may vary.
Dave Hylands
-- With regards, Sandeep Kumar Anantapalli,
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- With regards, Sandeep Kumar Anantapalli,
participants (3)
-
Abu Rasheda -
Dave Hylands -
sandeep kumar