On 06/15/2009 04:23 PM, Anthony Liguori wrote: > Avi Kivity wrote: >> On 06/15/2009 03:52 PM, Anthony Liguori wrote: >>> Avi Kivity wrote: >>>> On 06/15/2009 03:41 PM, Michael S. Tsirkin wrote: >>>>> We should just tell the user which slots are open. >>>>> This might be tricky if the config is passed in with the command >>>>> line >>>>> flags. >>>> >>>> qemu -show-available-pci-slots >>> >>> Why does the user care? >>> >>> Let QEMU allocate the PCI slot, then query it to see what slot it >>> assigned and remember that. >> >> It's a roundabout way of doing things. > > Having libvirt do PCI slot allocation scares me. It assumes we can > return a whitelist of available slots, and then let libvirt just > randomly assign things. There's knowledge though in slot assignment > that's board-specific. For instance, depending on how many LNK lines > you have, you may want to put things in slots in such a way to > optimize interrupt balancing or something like that. How would qemu know which slots to optimize for? In practice, I don't see that as a real problem. We should (a) add an ioapic and four more pci links (b) recommend that slots be assigned in ascending order, and everything works. I don't see your concern about libvirt allocating slots. If a human can plug a card into a slot, so can libvirt. Doing an interactive back-and-forth (equivalent to plugging a card while blindfolded, then looking to see which slot we hit) is certainly more difficult. > Some platforms have quirks about expecting a particular slot to have a > particular device. It's still an optimal device but it has to be in > that slot. You can't really express that via an available slot list. I'll be surprised if we ever measure different dma speeds on different slots in the qemu virtual pci bus. If we do, we'll find a way to express them: $ qemu -print-pci slot 0:01: available 33MHz slot 0:02: available 33MHz slot 0:03: available 66MHz I feel a little silly typing this. -- error compiling committee.c: too many arguments to function _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization