[libvirt] [RFC PATCH] support multifunction PCI device

Wen Congyang wency at cn.fujitsu.com
Thu May 19 06:49:34 UTC 2011


At 05/13/2011 10:32 AM, KAMEZAWA Hiroyuki Write:
> On Wed, 11 May 2011 08:55:56 +0100
> "Daniel P. Berrange" <berrange at 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
> 
> 




More information about the libvir-list mailing list