On 18/09/2026 20:58, Kirill A. Korinsky wrote:

On Fri, 18 Sep 2026 15:27:09 +0200,
Mark Cave-Ayland <[email protected]> wrote:

On 03/09/2026 12:50, Kirill A. Korinsky wrote:

The CUDA model assumes a 20 microsecond delay before each shift
register interrupt. OpenBSD times out during device discovery with that
timing, so retain the existing default but allow an override.

This is curious: 20us is effectively nothing, but we need a slight delay
otherwise MacOS 9 fails to read from the CUDA device (maybe one day I
will analyse the code to understand why this is the case).

Can you explain a bit more why 20us is enough to cause a timeout but only for 
OpenBSD?


If I recall right it right, it ends that I run Qemu on OpenBSD host and here
hz=100 and ppoll() sleep in host's timeout between ticks. What makes it that
sleep something like 10 or 20 ms.

so, 20us is nothing, but on OpenBSD host it turns to larger value 20-40 ms,
and it was enough to reach a timeout.

This is why I added a way to switch off that delay.

I'm still surprised why this only occurs on an OpenBSD host, but I think the way forward is to mark the property name as experimental by adding an x- prefix so people are aware that it may disappear in future when we really figure out what is going on.

I see that Anushree has a comment and a suggested change for your decrementer patch: if that works, please send out a v2 series and if it looks good, I'll queue it via my qemu-macppc branch.


ATB,

Mark.


Reply via email to