All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] ext2 file system performance
@ 2012-03-16  1:20 jonsmirl at gmail.com
  2012-03-16  4:42 ` Marek Vasut
  2012-03-30 15:36 ` Jason
  0 siblings, 2 replies; 4+ messages in thread
From: jonsmirl at gmail.com @ 2012-03-16  1:20 UTC (permalink / raw)
  To: u-boot

The ext2 file system code is reading the kernel image off from my SD
card one sector at a time. Of course this takes 61 seconds to get the
kernel in to memory. Loading the same kernel off from the same SD on
FAT takes less than a second.

Nice quick FAT reads...

reading uImage
JDS start 7c0 count 1
JDS start 9d0 count 2
JDS start 7d0 count 6
JDS start 1aa0 count 1090
JDS start 2b30 count e
JDS start 2b3e count 1

Ext2 takes about 8,000 single sector reads. File is not fragmented, it
is the only file on a freshly formatted volume.
Is there anyway to convince the ext2 code to use larger reads?

-- 
Jon Smirl
jonsmirl at gmail.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] ext2 file system performance
  2012-03-16  1:20 [U-Boot] ext2 file system performance jonsmirl at gmail.com
@ 2012-03-16  4:42 ` Marek Vasut
  2012-03-30 15:36 ` Jason
  1 sibling, 0 replies; 4+ messages in thread
From: Marek Vasut @ 2012-03-16  4:42 UTC (permalink / raw)
  To: u-boot

Dear jonsmirl at gmail.com,

> The ext2 file system code is reading the kernel image off from my SD
> card one sector at a time. Of course this takes 61 seconds to get the
> kernel in to memory. Loading the same kernel off from the same SD on
> FAT takes less than a second.
> 
> Nice quick FAT reads...
> 
> reading uImage
> JDS start 7c0 count 1
> JDS start 9d0 count 2
> JDS start 7d0 count 6
> JDS start 1aa0 count 1090
> JDS start 2b30 count e
> JDS start 2b3e count 1
> 
> Ext2 takes about 8,000 single sector reads. File is not fragmented, it
> is the only file on a freshly formatted volume.
> Is there anyway to convince the ext2 code to use larger reads?

It's probably best to dive into the code, I can't answer this out of the top of 
my head, maybe someone else can though.

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] ext2 file system performance
  2012-03-16  1:20 [U-Boot] ext2 file system performance jonsmirl at gmail.com
  2012-03-16  4:42 ` Marek Vasut
@ 2012-03-30 15:36 ` Jason
  2012-03-30 16:30   ` jonsmirl at gmail.com
  1 sibling, 1 reply; 4+ messages in thread
From: Jason @ 2012-03-30 15:36 UTC (permalink / raw)
  To: u-boot

On Thu, Mar 15, 2012 at 09:20:34PM -0400, jonsmirl at gmail.com wrote:
> The ext2 file system code is reading the kernel image off from my SD
> card one sector at a time. Of course this takes 61 seconds to get the
> kernel in to memory. Loading the same kernel off from the same SD on
> FAT takes less than a second.
> 
> Nice quick FAT reads...
> 
> reading uImage
> JDS start 7c0 count 1
> JDS start 9d0 count 2
> JDS start 7d0 count 6
> JDS start 1aa0 count 1090
> JDS start 2b30 count e
> JDS start 2b3e count 1
> 
> Ext2 takes about 8,000 single sector reads. File is not fragmented, it
> is the only file on a freshly formatted volume.
> Is there anyway to convince the ext2 code to use larger reads?

Take a look at my patch submitted here:

http://www.mail-archive.com/u-boot at lists.denx.de/msg80677.html

Let me know if that works for you.

hth,

Jason.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] ext2 file system performance
  2012-03-30 15:36 ` Jason
@ 2012-03-30 16:30   ` jonsmirl at gmail.com
  0 siblings, 0 replies; 4+ messages in thread
From: jonsmirl at gmail.com @ 2012-03-30 16:30 UTC (permalink / raw)
  To: u-boot

Much better 3.5 seconds versus the old 61 seconds.

It is still slower than FAT which can load in less than one second.
Can those 40 sequential reads starting at 1034 be combined?

Read trace from EXT2.....
EA3131-NXP # ext2load mmc 0:3 0x30000000 uImage
Loading file "uImage" from mmc device 0:3 (xxa3)
 <2, 0, 204>
 <4, 0, 32>
 <524, 128, 128>
 <1034, 0, 8>
 <1034, 8, 1>
 <1034, 12, 8>
 <1034, 20, 2>
 <1034, 24, 8>
 <1034, 32, 10>
 <1034, 44, 8>
 <1034, 52, 3>
 <1034, 56, 8>
 <1034, 64, 3>
 <1034, 68, 8>
 <1034, 76, 3>
 <1034, 80, 8>
 <1034, 88, 3>
 <1034, 92, 8>
 <1034, 100, 7>
 <1034, 108, 8>
 <1034, 116, 3>
 <1034, 120, 8>
 <1034, 128, 4>
 <1034, 132, 8>
 <1034, 140, 4>
 <1034, 144, 8>
 <1034, 152, 3>
 <1034, 156, 8>
 <1034, 164, 4>
 <1034, 168, 8>
 <1034, 176, 3>
 <1034, 180, 8>
 <1034, 188, 3>
 <1034, 192, 8>
 <1034, 200, 3>
 <1034, 204, 8>
 <1034, 212, 3>
 <1034, 216, 8>
 <1034, 224, 3>
 <1034, 228, 8>
 <1034, 236, 6>
 <4, 0, 32>
 <527, 0, 128>
 <1062, 0, 1024>
 <1086, 0, 1024>
 <1064, 0, 11264>
 <1600, 0, 1024>
 <1602, 0, 1024>
 <1086, 0, 1024>
 <1088, 0, 262144>
 <1600, 0, 1024>
 <2116, 0, 1024>
 <1602, 0, 1024>
 <1604, 0, 262144>
 <2116, 0, 1024>
 <2630, 0, 1024>
 <2116, 0, 1024>
 <2118, 0, 262144>
 <2630, 0, 1024>
 <3144, 0, 1024>
 <2630, 0, 1024>
 <2632, 0, 262144>
 <3144, 0, 1024>
 <3658, 0, 1024>
 <3144, 0, 1024>
 <3146, 0, 262144>
 <3658, 0, 1024>
 <4172, 0, 1024>
 <3658, 0, 1024>
 <3660, 0, 262144>
 <4172, 0, 1024>
 <4686, 0, 1024>
 <4172, 0, 1024>
 <4174, 0, 262144>
 <4686, 0, 1024>
 <5200, 0, 1024>
 <4686, 0, 1024>
 <4688, 0, 262144>
 <5200, 0, 1024>
 <5202, 0, 66560>
2175848 bytes read
EA3131-NXP #


-- 
Jon Smirl
jonsmirl at gmail.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-03-30 16:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-16  1:20 [U-Boot] ext2 file system performance jonsmirl at gmail.com
2012-03-16  4:42 ` Marek Vasut
2012-03-30 15:36 ` Jason
2012-03-30 16:30   ` jonsmirl at gmail.com

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.