On 29.09.21 09:50, Martin Kaistra wrote:
> Am 28.09.21 um 11:28 schrieb Jan Kiszka:
>> On 27.09.21 10:30, Martin Kaistra wrote:
>>> Am 24.09.21 um 17:46 schrieb Jan Kiszka:
>>>>
>>>> If suspend_cpu() does not progress, the target CPU is not reacting
>>>> properly on the request to leave the guest and service the Jailhouse
>>>> commands. Could be that you interrupts are not handles properly. Run
>>>> "jailhouse config check" on your setup, maybe you are passing the
>>>> interrupt controller through.
>>>>
>>>> Or are you using SDEI-based management interrupts? Would require a
>>>> special TF-A version, so likely does not happen "by chance".
>>>>
>>>> Jan
>>>>
>>>
>>> Hi Jan,
>>>
>>> "jailhouse config check" finds no problems with the root cell and inmate
>>> configs.
>>> Also, SDEI is not active. gicv2_send_sgi() is being used.
>>>
>>
>> Then it would be good to continue debugging, now trying to understand
>> what the target CPU is doing.
>>
>> The CPU that requests the suspend sets suspend_cpu in the target data
>> structure, then sends an IPI to that CPU and wait for the other side to
>> confirm this via setting cpu_suspended. Check if the target CPU received
>> the IPI, left the guest mode or what else it does by instrumenting the
>> related code paths (check_events on arm64).
>>
>> Jan
>>
>
> The times, when there is no freeze, I can see after cpu0 calls
> arch_send_event() -> gicv2_send_sgi() from suspend_cpu(), on cpu1 there
> is irqchip_handle_irq() -> arch_handle_sgi() -> check_events().
>
> However in the not working case, after going into suspend_cpu() on cpu0,
> there seem to be no interrupts landing on cpu1, I get no debug prints
> from irqchip_handle_irq or check_events.

But there also arch_send_event() called in the broken case?

And in both cases cpu1 is inside the guest when the suspension request
is started?

>
> Maybe there is a HW problem? But why does it seem to work sometimes..
>

I would call for a HW problem only after truly excluding all software
issues.

Jan

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/167c22e4-d59e-1560-c9d5-58dd3d3c1433%40web.de.

Reply via email to