Re: spinlock recursion when running q800 emulation in qemu

Guenter Roeck
2024-03-05T00:58:13Z

On 3/4/24 16:47, Michael Schmitz wrote:
> Hi Guenter,
>
> On 5/03/24 13:33, Finn Thain wrote:
>> On Mon, 4 Mar 2024, Guenter Roeck wrote:
>>
>>> when running the q800 qemu emulation, am seeing random "spinlock
>>> recursion" messages every few test runs. Some examples are below. This
>>> is not a new problem, but it keeps popping up.
>>>
>> You have to enable CONFIG_DEBUG_SPINLOCK to see it. I have logs from 10
>> years ago that show it. Those logs have the VIA timer driver in the
>> backtrace, like yours. That was v3.17 running on a PowerBook 180.
>>
>>> Is this a potential problem or just noise ?
>> Maybe the locking validation is not compatible with nested interrupts (?)
> Seeing as m68k is the only architecture that allows nesting of interrupts, I'd rate that as quite likely. At least that's how I understood the situation a few years back when that weird access past end of RAM during interrupt accounting bug was discussed.
>> Does "spinlock recursion" show up in Aranym as well? I would check for
>> that myself but I don't have a reproducer.
>
> If you can give me a hint on what kind of workload that happens at, I'd be happy to run something similar (if not the same) on my 030 hardware.
>
> I've never set CONFIG_DEBUG_SPINLOCK, so would have missed these messages, too.
>

No workload in my case, just boot into the qemu q800 emulation.

Looking into statistics, for example at
https://kerneltests.org/builders/qemu-m68k-master,
it is seen every ~5-10 boot attempts.

Guenter