On Wed, 11 May 2011 08:55:56 +0100
"Daniel P. Berrange" <berrange(a)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..
Thanks,
-Kame