qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] target/ppc: Implement gathering irq statistics


From: BALATON Zoltan
Subject: Re: [PATCH] target/ppc: Implement gathering irq statistics
Date: Wed, 14 Jun 2023 12:00:24 +0200 (CEST)

On Wed, 14 Jun 2023, Cédric Le Goater wrote:
On 6/8/23 11:34, BALATON Zoltan wrote:
On Thu, 8 Jun 2023, Cédric Le Goater wrote:
On 6/7/23 00:02, BALATON Zoltan wrote:
Count exceptions which can be queried with info irq monitor command.

I don't think the TYPE_INTERRUPT_STATS_PROVIDER interface was designed
for CPUs. It is more suitable for interrupt controllers.

True but:
- It works and provides useful statistics
- At least older PPC CPUs have embedded interrupt controller as the comment in cpu.h shows

so is this just a comment, question or you want something changed in this patch?

It was more a general comment. It is also adding a very large array
in an even larger structure. I wonder this has some impact on cache
misses.

I could not measure a performance decrease at least with the tests I did so it likely has no major impact but that could also be host arch specific. I've found exceptions may be one source of slowness because I see a lot of external interrupts raised with MorphOS on pegasos2 while much less with AmigaOS on the same machine and the latter seems to run faster while same MoprhOS on mac99 does not have these interrupts and runs faster than AmigaOS on pegasos2. I've added these irq counts to be able to get some info on this. This series started as an attempt to optimise this part a bit but could not make it much faster so only the clean ups remained at the end. I have more changes that in theory could help but tests showed it made things slower so I've dropped those. These were changing cs parameter to env in other functions such as powerpc_reset_excp_state(), powerpc_set_excp_state(), ppc_interrupts_little_endian(), powerpc_excp() and all its model specific variants to get rid of local cs variables but this made it slower. Or marking error checks with unlikely that also made it slower despite I heven't seen any of those errors firing so it's hard to tell which change would have a performance impact. I've tested that these in this series don't change things much, I still get about the same speed as before.

Regards,
BALATON Zoltan

reply via email to

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