lkml.org 
[lkml]   [2011]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/3] PCI: Rework config space locking, add INTx masking services
On Mon, Sep 12, 2011 at 06:54:01PM +0200, Jan Kiszka wrote:
> This series tries to heal the currently broken locking scheme around PCI
> config space accesses.
>
> We have an interface lock out access via sysfs, but that service wrongly
> assumes it is only called by one instance at a time for some device. So
> two loops doing
>
> echo 1 > /sys/bus/pci/devices/<some-device>/reset
>
> in parallel will trigger a kernel BUG at the moment.
>
> Besides synchronizing with user space, we also need to manage config
> space access of generic PCI drivers. They need to mask legacy interrupt
> lines while the specific driver runs in user space or a guest OS.
>
> The approach taken here is provide mutex-like locking for general
> access - which still requires a special mechanism due to requirements of
> the IBM Power RAID SCSI driver. Furthermore, INTx masking is now
> available via the PCI core and synchronized via the internal pci_lock.
>
> Not sure who may want to take this, so I'm CC'ing broadly.
>
> CC: Brian King <brking@linux.vnet.ibm.com>
>
> Jan Kiszka (3):
> pci: Rework config space blocking services
> pci: Introduce INTx check & mask API
> uio: Convert uio_generic_pci to new intx masking API

For the series:

Acked-by: Michael S. Tsirkin <mst@redhat.com>


> drivers/pci/access.c | 76 +++++++++++++++++----------
> drivers/pci/iov.c | 12 ++--
> drivers/pci/pci.c | 114 ++++++++++++++++++++++++++++++++++++++++-
> drivers/pci/pci.h | 2 +
> drivers/scsi/ipr.c | 66 +++++++++++++++++++++---
> drivers/scsi/ipr.h | 1 +
> drivers/uio/uio_pci_generic.c | 82 +++---------------------------
> include/linux/pci.h | 17 ++++--
> 8 files changed, 248 insertions(+), 122 deletions(-)
>
> --
> 1.7.3.4


\
 
 \ /
  Last update: 2011-10-16 16:27    [W:0.079 / U:0.640 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site