qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] MorphOS benchmark results


From: BALATON Zoltan
Subject: [Qemu-ppc] MorphOS benchmark results
Date: Wed, 18 Jul 2018 15:53:07 +0200 (CEST)
User-agent: Alpine 2.21 (BSF 202 2017-01-01)

Hello,

This is inspired by discussion I've read on some forums but I'm sending it here because I'm not on those forums but what I post here usually gets forwarded there as well and it might also be interesting for some reading this list who is considering helping to improve QEMU PPC emulation.

Some have tried running MorphOS on mac99 and tried running some benchmarks they commonly use to evaluate CPU speed of Amiga like systems and found it to be slow. These benchmarks are summarised here for example:
http://www.amiga-news.de/en/news/AN-2012-02-00011-EN.html

I've looked at two of these and they seem to hit well known weak points of QEMU: the lame benchmark is doing floating point calculations and the mplayer one is using a lot of Altivec stuff.

Floating point in QEMU is all software emulated as was mentioned here:
https://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg02499.html
and the longer story can be found here:
https://translatedcode.wordpress.com/2011/11/06/computing-abc-how-hard-can-it-be/

PPC Altivex instructions are also currently software only and probably far from optimal. See qemu/target/ppc/int_helper.c.

So if you run anything that mainly depend on these then the performance you get will be much less than would be desirable. So these could be improved and fortunately there was some work done for ARM emulation already to address these which were merged recently. These may be used as a foundation or to give an idea what would be needed on the PPC side to leverage these results. Tha Altivec side may only need using the inftastructure put in for ARM and x86 also from PPC emulation, the floating point issues may be a bit more difficult due to above described problems but maybe using hardware support for some common operations with only a few edge cases only, leaving the more complex things go via softmmu could be done more easily and could already get some improvement. (This was also tried before but not finished yet so if anyone wants to pick up I think they could.)

I've found this excelent talk by Alex Bennée summarising everything that was recently done in this area and also has a quick intro on how to contribute to QEMU so it is highly recommended for anyone who has the ability and willingness to improve these watch this and follow links in the presentation to get started:
https://www.slideshare.net/linaroorg/hkg18tr08-upstreaming-sve-in-qemu-92876219

Not related to the above but mentioning it here:

- Also read that mac99 and sam460ex might not work with KVM on PPC currently but no concrete info on how it failed was posted. I'm interested to fix this by can't test it having no PPC hardware but if you tried it and failed please at least post the errors you got not only that it does not work as that alone won't make it work.

- It might be interesting to get MorphOS also running on sam460ex emulation even though it works on mac99 already (to get some speed comparison between CPU emulations for example). But I'm not sure it works on real hardware correctly so if you have a real Sam460EX could you try booting it from a CD connected to a PCI SATA controller and only with the on-board SM502 graphics and let us know if it works?

Regards,
BALATON Zoltan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]