Re: [Xen-devel] [PATCH 2/5] xen/pciback: Support pci_reset_function,aka FLR or D3 support.

From: Don Dutile
Date: Fri Jan 06 2012 - 11:53:52 EST


On 01/05/2012 04:34 PM, Konrad Rzeszutek Wilk wrote:
On Thu, Jan 05, 2012 at 01:58:50PM -0500, Don Dutile wrote:
On 01/05/2012 05:24 AM, Ian Campbell wrote:
On Thu, 2012-01-05 at 00:46 +0000, Konrad Rzeszutek Wilk wrote:
We use the __pci_reset_function_locked to perform the action.
Also on attaching ("bind") and detaching ("unbind") we save and
restore the configuration states. When the device is disconnected
>from a guest we use the "pci_reset_function" to also reset the
device before being passed to another guest.

Currently I thought the toolstack was supposed to do the reset (by
writing to the reset node in sysfs) as it was (de)assigning devices
to/from guests. That's not to say that there isn't an argument for
preferring to do it kernels side but it would be interesting to make
that argument explicitly.

I guess the toolstack doesn't currently save/restore the configuration
state, could it though? I guess the state is all available in sysfs. On
pci_reset_function() saves the config state before doing a fcn-level reset.

the libvirt toolstack handles the unbind/reset/bind functionality
and is used by kvm for it's device assignment.

The KVM assigned PCI module does the call as well via the ioctls when
assigning/de-assigning the PCI device. Look in 'kvm_free_assigned_device'
and in 'kvm_vm_ioctl_assign_device'.

Is that what you mean by the unbind/reset/bind functionality - the ioctl
call?

It's done in both places (libvirt & kvm-ioctl).

--
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/