Re: spinlock recursion when running q800 emulation in qemu

Michael Schmitz
2024-03-05T01:06:49Z

Hi Guenter,

On 5/03/24 13:58, Guenter Roeck wrote:
> 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.

I can certainly do that ...

Cheers,

Michael

>
> Guenter
>