Re: [PATCH 0/3] PCI: Rework config space locking, add INTx masking services

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/06/2011 10:48 AM, Jesse Barnes wrote:
> On Mon, 12 Sep 2011 18:54:01 +0200
> Jan Kiszka <jan.kiszka@xxxxxxxxxxx> 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.
> 
> ISTR a bunch of discussion about this (just back from lots of work
> travel and vacation, sorry I missed most of it).
> 
> Is this the agreed upon way of handling it?  If so, can I get some
> Reviewed/Acked-bys from people?

Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>

-- 
Brian King
Linux on Power Virtualization
IBM Linux Technology Center


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux