Notes from LPC PCI/MSI BoF session

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

 



Matthew was kind enough to set up a BoF for those of us interested in PCI and 
MSI issues at this year's LPC.  We went over several issues there:  MSI, PCI 
hotplug, PCIe virtualization, VGA arbitration and PCI address space 
management.

MSI
---
This was probably the biggest topic; we spent almost an hour on the topic as I 
recall.  The main takeaways were these:

Issue:
Need to add something like James' lost interrupt code so we can better     
detect platforms with buggy MSI support (along with more general     
interrupt routing issues).
Owner:
Me.  I'll be handling this by integrating James' patches into the PCI tree for     
2.6.28.

Issue:
Storage drivers need to use the functionality provided above and print an oops 
message or similar so we can pick it up and blacklist the platform.
Owner:
Matthew (I think?)

Issue:
smp_affinity and MSI are currently incompatible if MSI masking and INTX 
mapping are unavailable.  Need to return -EINVAL from smp_affinity changes in 
this case.
Owner:
Me (happy to receive patches for this though).

Issue:
MSI API improvements.  Need ways to allocate MSIs at runtime, and perhaps on a 
per-CPU level and get affinity information.  And of course we need a way to 
get more than one legacy MSI allocated.
Owner:
Matthew is handling the first pass of this (the more than one legacy MSI 
addition).  I think we'll need some detailed requirements from the driver 
guys to make further improvements (e.g. per-CPU or affinity stuff).

Issue:
Need better MSI platform blacklists.
Owner:
Me.  I'll see if I can gather the list of issues the Fedora guys saw last time 
they tried to enable MSI unconditionally.  We can also improve the list 
through the added debugging described above.

PCI hotplug
-----------
PCI hotplug has seen a lot of churn lately, mainly due to long overdue fixes 
from Alex & Kenji-san.  Now that Kristen is done with LPC related planning 
and implementation, she says she'll have time to review more patches, but she 
also said PCI hotplug doesn't need a dedicated maintainer.  Assuming there 
are no objections, I'll apply a patch to remove the associated entry from 
MAINTAINERS for 2.6.28.

I'm really happy with the level of review we've been getting on hotplug 
related patches these days, I hope we can keep it up.  One of the main 
remaining issues that I can see is adding some better detection code for our 
hotplug slot drivers.  It seems like we're missing something given that we 
see so many systems with duplicate slot IDs; maybe we're not calling the 
right ACPI methods or are calling them wrong somehow?

PCIe virtualization
-------------------
Briefly discussed the SR-IOV patches Yu has been posting recently.  Except for 
a couple of changes requested by Alex & Matthew, it looks like this patch set 
is in pretty good shape.  I'll wait for Matthew & Alex to ack the next set, 
then I'll apply to my linux-next branch.

VGA arbitration
---------------
There's some code for handling legacy VGA routing floating around.  Ben put it 
together awhile back, and Tiago Vignatti has been looking after it lately.  
It's a good interface to have for multi-seat configurations that require 
multiple VGA cards to be POSTed; it mainly needs to be re-posted to the 
mailing list for final review at this point (and Ben mentioned one more API 
is needed to allow drivers to exclude themselves from arbitration once they 
no longer need legacy VGA space).

PCI address space management
----------------------------
TJ has a bunch of code to improve address space management in Linux.  We 
talked for a few minutes about this at the BoF; at this point I'm just 
waiting for TJ to post his stuff so we can start integrating it.  Hopefully 
we can start merging small pieces of it (like the multiple PCI gap stuff) for 
2.6.28, and get some more eyes on the more aggressive PCI-DMAR stuff he's 
been talking about soon.

Well that's all I have in the way of notes.  Feel free to add your own if I 
missed anything or correct me if I mischaracterized things.

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

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux