qemu-ppc
[Top][All Lists]
Advanced

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

Re: PPC440 tlbwe


From: BALATON Zoltan
Subject: Re: PPC440 tlbwe
Date: Wed, 25 Oct 2023 22:42:44 +0200 (CEST)

On Wed, 25 Oct 2023, Nicholas Piggin wrote:
On Wed Oct 25, 2023 at 2:01 AM AEST, BALATON Zoltan wrote:
On Wed, 11 Oct 2023, Nicholas Piggin wrote:
On Tue Oct 10, 2023 at 10:41 PM AEST, BALATON Zoltan wrote:
Hello,

I have a question about tlbwe emulation in TCG for PPC440. This seems to
be implemented in mmu_helper.c::helper_440_tlbwe which calls tlb_flush a
lot flushing all TLB entries. This causes a big performance hit with
sam460ex running AmigaOS which seems to do tlbwe on every task or context
switch so it runs much slower than on other machines with a G4 CPU
(pegasos2 and amigaone we also emulate) that use hardware TLB which does
not have such problem in TCG. Even the embedded TLB emulation has 3
versions for 40x, 440 and BookE 2.06 (I think that's e500) and at least
the booke206 version uses flush_page instead of flushing everything. I
don't know much about this so is there somebody with better understanding
of this who can have a look at it and see if it can be optimised to
resolve this problem or give some advice?

It looks like 440 might be able to use the same page flushing as 4xx.

This patch is only compile tested and I don't know the book E TLB stuff
too well but it may give you a starting point.

A few more people gave this some testing and it seems to work and found no
breakage so far. Do you plan to make it a porper patch and merge it
sometimes?

Performance is improved do you think? I can give it a try. I may try to

I tried running an app on sam460ex under AmigaOS that measures its runtime and took 22s before this patch and is down to 14s with this patch so it does help performance. (The same runs in 9s on pegasos2 so there may be other places in embedded PPC emulation that could be improved but that will need some more profiling to find where. This was the biggest issue that this patch improves.)

do the fix patches separately ahead of the performance patch. It would
be nice if those could be confirmed to fix a problem, but understand
it can be difficult to set up and hit TLB bugs.

I can't test the fixes as I don't have a way to reproduce those issues but I did not see any regressions with this patch either so these should be OK even if we can't prove it fixes anything. But at least also does not seem to break it so then should be an improvement.

Regards,
BALATON Zoltan



reply via email to

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