qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 16/26] hw/display/apple-gfx: Asynchronous MMIO writes on x86-


From: BALATON Zoltan
Subject: Re: [PATCH 16/26] hw/display/apple-gfx: Asynchronous MMIO writes on x86-64
Date: Tue, 16 Jul 2024 16:48:55 +0200 (CEST)

On Tue, 16 Jul 2024, Phil Dennis-Jordan wrote:
On Mon, 15 Jul 2024 at 23:26, Philippe Mathieu-Daudé <philmd@linaro.org>
wrote:

Hi Phil,

On 15/7/24 23:06, Phil Dennis-Jordan wrote:
This change ensures that the MMIO write calls into the PVG
framework are performed asynchronously on a background dispatch
queue. Without this, we rapidly run into re-entrant MMIO issues.

This problem only seems to exist on x86-64 hosts. Conversely,
doing it async on arm64/vmapple causes other issues,

Such as?


Sorry for being vague. I've just refreshed my memory by testing with async
MMIO writes on aarch64, and the guest never manages to initialise the
display at all. I've admittedly not attempted to debug through this in any
significant way, though with PVG being something of a black box I'm not
sure it's worth it. It works reliably on x86-64 with async writes, and on
aarch64 with sync writes.

Only a guess but I think ARM like POWER has weak memory consistency so maybe some sync ops are needed between writes somewhere whereas it would work on X86_64 that has strong guarantees so no such explicit sync is needed? I may completely wrong though, it's just what this reminded me of.

Regards,
BALATON Zoltan

reply via email to

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