On 30/09/2019 10:25, David Gibson wrote:
> On Mon, Sep 30, 2019 at 08:11:56AM +0200, Cédric Le Goater wrote:
>> On 27/09/2019 07:50, David Gibson wrote:
>>> It turns out that all the logic in the SpaprIrq::reset hooks (and some in
>>> the SpaprIrq::post_load hooks) isn't really related to resetting the irq
>>> backend (that's handled by the backends' own reset routines).  Rather its
>>> about getting the backend ready to be the active interrupt controller or
>>> stopping being the active interrupt controller - reset (and post_load) is
>>> just the only time that changes at present.
>>
>> This is a 'critical' part which impacts all the migration cases: 
>>
>> ic-mode=xics,xive,dual + kernel_irqchip=on/off + TCG
> 
> Yes... and?

and it's fragile.  

>>> To make this flow clearer, move the logic into the explicit backend
>>> activate and deactivate hooks.
>>
>> I don't see where the hooks are called ?
> 
> spapr_irq_reset()
>   -> spapr_irq_update_active_intc()
>     -> set_active_intc()
>       -> activate/deactivate hooks
> 
> Similarly via spapr_irq_post_load().
> 
> I'm hoping to add one at CAS time to avoid the CAS reboot, too.

OK. I think the first 22 patches are ready, just some minor comments
if I am correct. Could you merge them ?

C.



Reply via email to