On Wednesday, November 12, 2008 12:12 pm Greg KH wrote: > On Wed, Nov 12, 2008 at 11:51:04AM -0800, Jesse Barnes wrote: > > On Tuesday, November 11, 2008 9:37 pm Yuji Shimada wrote: > > > As I have not received a reply to my mail of November 6, 2008, I am > > > resending it herewith. > > > > > > This patch adds the function that reassigns page-aligned memory > > > resources to device, to linux. > > > > > > I created this patch for xen's dom0 linux. It have already been > > > included in xen's dom0 linux. It is useful when we assign I/O device > > > to HVM domain using pci passthrough, because page-aligned memory > > > resource is required for pci passthrough. It is also useful for > > > KVM. So I submit it to linux-pci ML. > > > > Ok, so the fundamental requirement here is to assign PCI devices to > > guests, right? That means PCI resources be aligned to a page boundary > > and take up at least a page so that no other resources will fall into the > > same page, right? > > > > So you add a quirk to unassign the resources of the device(s) in question > > and let the core reassign them according to your new constraints. So > > far, so good. > > > > Like Matthew said, reassigning at runtime should be possible, but can be > > a little trickier since your configuration has to disallow driver binding > > (or unbind everything) until after you've done your reassignments. For > > v11n setups that doesn't seem wholly unreasonable, but probably isn't as > > convenient as simply doing it at startup time. > > > > Anyway, comments on your patch below. > > > > > To reassign page-aligned memory resources to device, please add boot > > > parameter of linux as follows. > > > > > > reassigndev=00:1d.7,01:00.0 > > > > > > reassigndev= Specifies device to reassign page-aligned > > > memory resources. PCI-PCI bridge can be > > > specified, if resource windows need to be > > > expanded. > > > > I'd call this pagealignbars= or something instead, since you're not just > > reassigning things (that happens anyway for conflicting resources and for > > quirked devices), you're making sure that resources really are page > > aligned. It should probably also be part of the pci= parameter; besides > > your code for parsing out PCI device specifiers might be handy in the > > future (I was surprised my quick look didn't find some other boot option > > that already did it). > > As I said before, for a different patch recently, you can't use pci > device ids as a kernel command line option as they are not stable and > the user/distro never knows them ahead of time. > > Please do this dynamically while the kernel is running instead, if you > really have to do this. In the face of system configuration changes and kernel changes that's true. But for a specific configuration it's generally stable, and people definitely rely on that today. That said, doing this at runtime is preferable. 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