On 2012-02-29 16:22, Amos Kong wrote: > ----- Original Message ----- >> On 2012-02-29 14:30, Amos Kong wrote: >>> kvm_io_bus devices are used for ioevent, pit, pic, ioapic, >>> coalesced_mmio. >>> >>> Currently Qemu only emulates one PCI bus, it contains 32 slots, >>> one slot contains 8 functions, maximum of supported PCI devices: >>> 1 * 32 * 8 = 256. The maximum of coalesced mmio zone is 100, >>> each zone has an iobus devices. 300 io_bus devices is not enough. >>> >>> This patch makes the kvm_io_range array can be resized dynamically. >> >> Is there any limit, or can userspace allocate arbitrary amounts of >> kernel memory this way? > > Hi Jan, > > There is a fixed array in linux-2.6/include/linux/kvm_host.h, > we can only register 300 devices. > > struct kvm_io_range { > gpa_t addr; > int len; > struct kvm_io_device *dev; > }; > > struct kvm_io_bus { > int dev_count; > #define NR_IOBUS_DEVS 300 > struct kvm_io_range range[NR_IOBUS_DEVS]; > }; > ^^^^^^^^^^^^^^ Right. But doesn't your patch remove precisely this limit? So what limits userspace now? To register 300 million devices...? Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux -- 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