
At 05/13/2011 10:32 AM, KAMEZAWA Hiroyuki Write:
On Wed, 11 May 2011 08:55:56 +0100 "Daniel P. Berrange" <berrange@redhat.com> wrote:
On Wed, May 11, 2011 at 10:30:43AM +0800, Wen Congyang wrote:
3. After hot plug multi function PCI devices: # lspci 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 00:01.2 USB Controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01) 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03) 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 00:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 20) 00:04.0 RAM memory: Red Hat, Inc Virtio memory balloon 00:05.0 SCSI storage controller: LSI Logic / Symbios Logic 53c895a 00:06.0 SCSI storage controller: LSI Logic / Symbios Logic 53c895a 00:06.1 SCSI storage controller: LSI Logic / Symbios Logic 53c895a 00:06.2 SCSI storage controller: LSI Logic / Symbios Logic 53c895a 00:06.3 SCSI storage controller: LSI Logic / Symbios Logic 53c895a 00:06.4 SCSI storage controller: LSI Logic / Symbios Logic 53c895a 00:06.5 SCSI storage controller: LSI Logic / Symbios Logic 53c895a 00:06.6 SCSI storage controller: LSI Logic / Symbios Logic 53c895a 00:06.7 SCSI storage controller: LSI Logic / Symbios Logic 53c895a
2. support to hot unplug multi function PCI device hot unpluging multi function PCI device meas that all the other devices on the same slot will be hot unpluged. So we should do some cleanup and remove the other devices too. If the other device on the same slot does not support hot unpluged, or it is a a controller and some other devices still use this controller, I think we should refuse to hot unplug this mutlti function PCI device.
IMHO these kind of restrictions will make life really unpleasant for applications and are a reason we should *not* support the multifunction code. Instead we should focus on one of the other 3 options I mention above.
Hmm, how about adding <unpluggable> attribute to <device> definitions ? IIUC, 1. There are some unpluggable default devices. 2. There are devices which never should be removed by mistake, as rootfs.
When I've google'd "how to handle 100+ nics with KVM", a qemu community guy answers "please use multifunction devices" but I disappointed to know libvirt doesn't support it, now.
And, IIUC, if multifunction device is supporetd by libvirt, it can tie up default 'unpluggable' devices (as serial, IDE, etc) into a slot and we'll have 3? more empty slot at boot..
Hi, Daniel P. Berrange: What's your opinion about kamezawa's advice?
Thanks, -Kame