Re: [PATCH for-2.6.35] virtio-pci: disable msi at startup

From: Michael S. Tsirkin
Date: Wed Jun 23 2010 - 11:49:56 EST


On Wed, Jun 23, 2010 at 06:35:55PM +0300, Avi Kivity wrote:
> On 06/23/2010 06:26 PM, Michael S. Tsirkin wrote:
>>
>>
>>>>
>>>>
>>>>>>> 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.
>>
>
> The kdump kernel may not load drivers for those extra devices.

Then we don't care about clearing them?

>>> 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.
>>
>
> Well, you only need to save/restore for the devices you use. The rest
> you reset and forget.
>
> I don't really see why copying some config space is crazy.

Maybe not crazy, but complex. Look at pci_restore_state.
Anyway, if kdump wants to do this, it's a question of
calling pci_reset_function.

>>>> 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.
>>
>>
>
> What's PA write?

thats how we reset virtio today: write 0 to PA register.

> --
> error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/