From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=44019 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P6NOj-000687-CF for qemu-devel@nongnu.org; Thu, 14 Oct 2010 08:59:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P6NOi-0002A0-AB for qemu-devel@nongnu.org; Thu, 14 Oct 2010 08:59:05 -0400 Received: from mail-gx0-f173.google.com ([209.85.161.173]:52827) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P6NOi-00029w-7l for qemu-devel@nongnu.org; Thu, 14 Oct 2010 08:59:04 -0400 Received: by gxk5 with SMTP id 5so1809908gxk.4 for ; Thu, 14 Oct 2010 05:59:03 -0700 (PDT) Message-ID: <4CB6FE94.4030203@codemonkey.ws> Date: Thu, 14 Oct 2010 07:59:00 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Hitting 29 NIC limit References: <4CB6388A.30006@codemonkey.ws> <4CB6F275.2060204@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Anjali Kulkarni , Avi Kivity , "kvm@vger.kernel.org" , "qemu-devel@nongnu.org" On 10/14/2010 07:36 AM, Markus Armbruster wrote: > Avi Kivity writes: > > >> On 10/14/2010 12:54 AM, Anthony Liguori wrote: >> >>> On 10/13/2010 05:32 PM, Anjali Kulkarni wrote: >>> >>>> Hi, >>>> >>>> Using the legacy way of starting up NICs, I am hitting a limitation >>>> after 29 >>>> NICs ie no more than 29 are detected (that's because of the 32 PCI slot >>>> limit on a single bus- 3 are already taken up) >>>> I had initially increased the MAX_NICS to 48, just on my tree, to get to >>>> more, but ofcource that wont work. >>>> Is there any way to go beyond 29 NICs the legacy way? What is the >>>> maximum >>>> that can be supported by the qdev mothod? >>>> >>> I got up to 104 without trying very hard using the following script: >>> >>> args="" >>> for slot in 5 6 7 8 9 10 11 12 13 14 15 16 17; do >>> for fn in 0 1 2 3 4 5 6 7; do >>> args="$args -netdev user,id=eth${slot}_${fn}" >>> args="$args -device >>> virtio-net-pci,addr=${slot}.${fn},netdev=eth${slot}_${fn},multifunction=on,romfile=" >>> done >>> done >>> >>> x86_64-softmmu/qemu-system-x86_64 -hda ~/images/linux.img ${args} >>> -enable-kvm >>> >>> The key is to make the virtio-net devices multifunction and to fill >>> out all 8 functions for each slot. >>> > I'm amazed that works. Can't see how creating another qdev in the same > slot makes a proper multifunction device. > multifunction=on sets the multifunction bit for the PCI device. Then it's a matter of setting the address to be a specific function. Our default platform devices are actually multifunction. >> This is unlikely to work right wrt pci hotplug. If we want to support >> a large number of interfaces, we need true multiport cards. >> > Indeed. As far as I know, we can't hot plug multifunction PCI devices. > Yup. Regards, Anthony Liguori >> What's the motivation for such a huge number of interfaces? >> > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >