Re: Broken pci_block_user_cfg_access interface

From: Michael S. Tsirkin
Date: Mon Aug 29 2011 - 12:22:36 EST


On Mon, Aug 29, 2011 at 06:14:39PM +0200, Jan Kiszka wrote:
> On 2011-08-29 17:58, Michael S. Tsirkin wrote:
> > On Mon, Aug 29, 2011 at 05:42:16PM +0200, Jan Kiszka wrote:
> >> I still don't get what prevents converting ipr to allow plain mutex
> >> synchronization. My vision is:
> >> - push reset-on-error of ipr into workqueue (or threaded IRQ?)
> >> - require mutex synchronization for common config space access
> >
> > Meaning pci_user_ read/write config?
>
> And pci_dev_reset, yes.
>
> >
> >> and the
> >> full reset cycle
> >> - only exception: INTx status/masking access
> >> => use pci_lock + test for reset_in_progress, skip operation if
> >> that is the case
> >>
> >> That would allow to drop the whole block_user_cfg infrastructure.
> >>
> >> Jan
> >
> > We still need to block userspace access while INTx does
> > the status/masking access, right?
>
> Yes, pci_lock would do that for us.

Well this means block_user_cfg is not going away,
this is what it really is: pci_lock + a bit to lock out userspace.

> We should consider making the related bits for INTx test & mask/unmask
> generic PCI services so that no user (uio_pci_generic, kvm, vfio) needs
> to worry about the locking details.
>
> Jan
>
> --
> Siemens AG, Corporate Technology, CT T DE IT 1
> Corporate Competence Center Embedded Linux
--
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/