* [U-Boot] Performance problems with gunzip
@ 2010-01-22 14:03 A. Geisreiter
2010-01-22 14:45 ` Detlev Zundel
0 siblings, 1 reply; 8+ messages in thread
From: A. Geisreiter @ 2010-01-22 14:03 UTC (permalink / raw)
To: u-boot
Hello,
I try to unzip a WinCE kernel with the U-Boot gunzip routine. It is working,
but it takes roughly 1min to uncompress a 10MB zip file.
I am working with a PXA270 platform. What could be the reason for the worst
performance?
Thanks,
Andreas
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] Performance problems with gunzip
2010-01-22 14:03 [U-Boot] Performance problems with gunzip A. Geisreiter
@ 2010-01-22 14:45 ` Detlev Zundel
2010-01-22 14:57 ` A. Geisreiter
0 siblings, 1 reply; 8+ messages in thread
From: Detlev Zundel @ 2010-01-22 14:45 UTC (permalink / raw)
To: u-boot
Hi Andreas,
> I try to unzip a WinCE kernel with the U-Boot gunzip routine. It is working,
> but it takes roughly 1min to uncompress a 10MB zip file.
> I am working with a PXA270 platform. What could be the reason for the worst
> performance?
Very likely the disabled instruction and data caches. Not that I know
for sure, but I'm pretty confident that either both or at least the data
cache is not enabled per default.
There was some discussion about enabling them, but the work never got
done IIRC.
Cheers
Detlev
--
Mit einem Leben wie dem meinen, Doktor - wer braucht da noch Traeume?
- Alex Portnoy
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] Performance problems with gunzip
2010-01-22 14:45 ` Detlev Zundel
@ 2010-01-22 14:57 ` A. Geisreiter
2010-01-22 15:20 ` Detlev Zundel
0 siblings, 1 reply; 8+ messages in thread
From: A. Geisreiter @ 2010-01-22 14:57 UTC (permalink / raw)
To: u-boot
Hi Detlev,
thanks for the fast response. How do I enable data caches?
Regards,
Andreas
-----Urspr?ngliche Nachricht-----
Von: Detlev Zundel [mailto:dzu at denx.de]
Gesendet: Freitag, 22. Januar 2010 15:45
An: A. Geisreiter
Cc: u-boot at lists.denx.de
Betreff: Re: [U-Boot] Performance problems with gunzip
Hi Andreas,
> I try to unzip a WinCE kernel with the U-Boot gunzip routine. It is
working,
> but it takes roughly 1min to uncompress a 10MB zip file.
> I am working with a PXA270 platform. What could be the reason for the
worst
> performance?
Very likely the disabled instruction and data caches. Not that I know
for sure, but I'm pretty confident that either both or at least the data
cache is not enabled per default.
There was some discussion about enabling them, but the work never got
done IIRC.
Cheers
Detlev
--
Mit einem Leben wie dem meinen, Doktor - wer braucht da noch Traeume?
- Alex Portnoy
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] Performance problems with gunzip
2010-01-22 14:57 ` A. Geisreiter
@ 2010-01-22 15:20 ` Detlev Zundel
2010-01-22 15:45 ` Alessandro Rubini
2010-01-25 9:10 ` A. Geisreiter
0 siblings, 2 replies; 8+ messages in thread
From: Detlev Zundel @ 2010-01-22 15:20 UTC (permalink / raw)
To: u-boot
Hi Andreas,
> thanks for the fast response. How do I enable data caches?
I fear this is not as easy as flipping a bit in a register. Depending
on the platform caches tend to be tied to the MMU, so enabling the
caches require setting up correct data structures for the MMU to work.
That's the non-trivial work.
Apart from that, there is CONFIG_CMD_CACHE which builds
common/cmd_cache.c. I see that at least two PXA250 platforms enable
this, so maybe simply try that?
Moreover, a quick qoogle showed that the (non-mainline) Gumstix verdex
(PXA270) U-Boot port has a dcache command:
http://docwiki.gumstix.org/index.php/U-Boot
Maybe you can reap the code from their repository. If you do, please
post it here ;)
Cheers
Detlev
--
There are three kinds of people in the world; those who can count and
those who can't.
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] Performance problems with gunzip
2010-01-22 15:20 ` Detlev Zundel
@ 2010-01-22 15:45 ` Alessandro Rubini
2010-01-22 16:03 ` Detlev Zundel
2010-01-25 9:10 ` A. Geisreiter
1 sibling, 1 reply; 8+ messages in thread
From: Alessandro Rubini @ 2010-01-22 15:45 UTC (permalink / raw)
To: u-boot
> I fear this is not as easy as flipping a bit in a register. Depending
> on the platform caches tend to be tied to the MMU, so enabling the
> caches require setting up correct data structures for the MMU to work.
> That's the non-trivial work.
Not that difficult, either. You just need to fill the top-level
page table for 1MB sections (4096 sections = 16k bytes, which must
be aligned on a 16k boundary).
> Apart from that, there is CONFIG_CMD_CACHE which builds
> common/cmd_cache.c. I see that at least two PXA250 platforms enable
> this, so maybe simply try that?
I think it's always disabled on arm, for the mmu reason.
> Maybe you can reap the code from their repository. If you do, please
> post it here ;)
Or I can cook an RFC patch later, after redoing the 8815 patches.
I was just considering trying it these days, as I've done the same
on another straight-on-iron project and it's not that difficult.
/alessandro
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] Performance problems with gunzip
2010-01-22 15:45 ` Alessandro Rubini
@ 2010-01-22 16:03 ` Detlev Zundel
2010-01-23 1:33 ` Alessandro Rubini
0 siblings, 1 reply; 8+ messages in thread
From: Detlev Zundel @ 2010-01-22 16:03 UTC (permalink / raw)
To: u-boot
Hi Alessandro,
>> I fear this is not as easy as flipping a bit in a register. Depending
>> on the platform caches tend to be tied to the MMU, so enabling the
>> caches require setting up correct data structures for the MMU to work.
>> That's the non-trivial work.
>
> Not that difficult, either.
I never said it was difficult, only non-trivial :)
> You just need to fill the top-level page table for 1MB sections (4096
> sections = 16k bytes, which must be aligned on a 16k boundary).
>
>> Apart from that, there is CONFIG_CMD_CACHE which builds
>> common/cmd_cache.c. I see that at least two PXA250 platforms enable
>> this, so maybe simply try that?
>
> I think it's always disabled on arm, for the mmu reason.
>
>> Maybe you can reap the code from their repository. If you do, please
>> post it here ;)
>
> Or I can cook an RFC patch later, after redoing the 8815 patches.
> I was just considering trying it these days, as I've done the same
> on another straight-on-iron project and it's not that difficult.
I am looking forward to something like this for a long time now and I'm
sure other people will value it too, so thanks in advance!
Detlev
--
Sometimes I lie awake at night and I ask, "Why me?", then a voice
answers "Nothing personal, your name just happened to come up."
-- Charlie Brown
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] Performance problems with gunzip
2010-01-22 16:03 ` Detlev Zundel
@ 2010-01-23 1:33 ` Alessandro Rubini
0 siblings, 0 replies; 8+ messages in thread
From: Alessandro Rubini @ 2010-01-23 1:33 UTC (permalink / raw)
To: u-boot
> I never said it was difficult, only non-trivial :)
Not trivial, actually.
> I am looking forward to something like this for a long time now and I'm
> sure other people will value it too, so thanks in advance!
It's still not working, but _I_ am working on it again after the weekend.
/alessandro
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] Performance problems with gunzip
2010-01-22 15:20 ` Detlev Zundel
2010-01-22 15:45 ` Alessandro Rubini
@ 2010-01-25 9:10 ` A. Geisreiter
1 sibling, 0 replies; 8+ messages in thread
From: A. Geisreiter @ 2010-01-25 9:10 UTC (permalink / raw)
To: u-boot
Hi Detlev,
thanks for the help. I have tried CONFIG_CMD_CACHE but this doesn't work,
because dcache_enable() is not implemented for PXA.
Then I tried to get the U-Boot source code for Gumstix verdex project, but I
can't find it. Where can I download this?
Regards,
Andreas
-----Urspr?ngliche Nachricht-----
Von: Detlev Zundel [mailto:dzu at denx.de]
Gesendet: Freitag, 22. Januar 2010 16:20
An: A. Geisreiter
Cc: u-boot at lists.denx.de
Betreff: Re: AW: [U-Boot] Performance problems with gunzip
Hi Andreas,
> thanks for the fast response. How do I enable data caches?
I fear this is not as easy as flipping a bit in a register. Depending
on the platform caches tend to be tied to the MMU, so enabling the
caches require setting up correct data structures for the MMU to work.
That's the non-trivial work.
Apart from that, there is CONFIG_CMD_CACHE which builds
common/cmd_cache.c. I see that at least two PXA250 platforms enable
this, so maybe simply try that?
Moreover, a quick qoogle showed that the (non-mainline) Gumstix verdex
(PXA270) U-Boot port has a dcache command:
http://docwiki.gumstix.org/index.php/U-Boot
Maybe you can reap the code from their repository. If you do, please
post it here ;)
Cheers
Detlev
--
There are three kinds of people in the world; those who can count and
those who can't.
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-01-25 9:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-22 14:03 [U-Boot] Performance problems with gunzip A. Geisreiter
2010-01-22 14:45 ` Detlev Zundel
2010-01-22 14:57 ` A. Geisreiter
2010-01-22 15:20 ` Detlev Zundel
2010-01-22 15:45 ` Alessandro Rubini
2010-01-22 16:03 ` Detlev Zundel
2010-01-23 1:33 ` Alessandro Rubini
2010-01-25 9:10 ` A. Geisreiter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox