public inbox for linux-sh@vger.kernel.org
 help / color / mirror / Atom feed
* qemu-sh CF access perormance
@ 2009-03-31 13:19 Shin-ichiro KAWASAKI
  2009-04-01  4:22 ` Magnus Damm
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Shin-ichiro KAWASAKI @ 2009-03-31 13:19 UTC (permalink / raw)
  To: linux-sh

Hi.  I have a question related to qemu-sh.

I use qemu-sh r2d emulation and userland on compact flush as qemu disk image,
to investigate why qemu-sh system emulation is slower than qemu-arm.

For example, it takes only around 1 second to compile simple hello.c with
gcc on qemu-arm system emulation.  On the other hand, it takes around 40
seconds on qemu-sh system emulation.

This compile time (40 secs) reduces to less than 6 seconds, if I repeat to
invoke "% gcc hello.c".  Then I guess,

 - disk cache reduces the compile time
 - and compact flush access performance is rather bad on qemu-sh r2d system

I investigated what happens on CF access, and found

 - the ioread/write16_rep() function call in ata_sff_data_xfer() placed in
   "drivers/ata/libata-sff.c", cause tlb miss exception,

 - and the exception is handled by handle_trapped_io() in
   "arch/sh/kernel/io_trapped.c".

I'd like to ask following questions to linux-sh experts,

 - Why such io-traps are used to access CF?
 - Will this io-traps are used for SH7785LCR's SD card access?

I guess these io-traps can be the reason why gcc takes so much time on qemu-sh.

Thank you for reading this mail.
Any comments or any explanations will be appreciated.

Regards,
Shin-ichiro KAWASAKI

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

end of thread, other threads:[~2009-04-02 14:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-31 13:19 qemu-sh CF access perormance Shin-ichiro KAWASAKI
2009-04-01  4:22 ` Magnus Damm
2009-04-01 15:25 ` Shin-ichiro KAWASAKI
2009-04-02  3:32 ` Paul Mundt
2009-04-02 14:36 ` Shin-ichiro KAWASAKI

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox