On Wed, Jun 23, 2010 at 06:15:20PM +0300, Avi Kivity wrote:
> On 06/23/2010 05:43 PM, Michael S. Tsirkin wrote:
>>
>>
>>>   If we don't already do so, we
>>> should probably FLR anything that moves when a kexec kernel starts.
>>>      
>> Probably only whatever we want to use. But whether this will make it
>> more, or less robust, is an open question.
>>    
>
> I'm thinking of a sound card left on (maybe not something you have in  
> kdump scenarios) or an industrial controller.  Those cards have side  
> effects and you want to quiesce them even if you don't know what they 
> are.

clearing bus master should be enough for that.
we still run the risk of hanging the kernel if the
device is hung, though.

>>    
>>>>> Shouldn't a reset be equivalent to power cycling?
>>>>>
>>>>>          
>>>> If we did this, driver would need to restore registers
>>>> such as BAR etc.
>>>>
>>>>        
>>> We could save/restore the registers we care about.
>>>      
>> It seems easier to clear registers we care about.
>
> We know the registers we care about, we don't know the ones we don't.   

If/when we use more registers, we can update driver to clear them on start.

> I'm talking about FLRing all cards, not just those you want to use.

reset using FLR/PM is complex because of the need to save/restore
config space. Doing this on a crashing kernel sounds scary.

>>    It's also too late
>> now: changing behaviour will break old drivers.
>>    
>
> Why?  the FLR is triggered by the guest kernel, so all drivers will be  
> aware it was FLRed.

Not for FLR. Too late to reset on PA write.

> -- 
> error compiling committee.c: too many arguments to function
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to