qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Anjali Kulkarni <anjali@juniper.net>, Avi Kivity <avi@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Hitting 29 NIC limit
Date: Thu, 14 Oct 2010 07:57:20 -0500	[thread overview]
Message-ID: <4CB6FE30.1040904@codemonkey.ws> (raw)
In-Reply-To: <20101014121047.GN11403@redhat.com>

On 10/14/2010 07:10 AM, Daniel P. Berrange wrote:
> On Thu, Oct 14, 2010 at 02:07:17PM +0200, Avi Kivity wrote:
>    
>>   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.
>>>        
>> This is unlikely to work right wrt pci hotplug.  If we want to support a
>> large number of interfaces, we need true multiport cards.
>>      
> Or a PCI bridge to wire up more PCI buses, so we raise the max limit for
> any type of device we emulate.
>    

I've always been sceptical of this.  When physical systems have a large 
number of NICs, it's via multiple functions, not a bunch of PCI bridges.

With just a handful of 8-port NICs, you can exceed the current 
slot-based limit on physical hardware.  It's not an extremely common 
configuration but it does exist.

BTW, I don't think it's possible to hot-add physical functions.  I 
believe I know of a card that supports dynamic add of physical functions 
(pre-dating SR-IOV).

Regards,

Anthony Liguori

> Daniel
>    

  reply	other threads:[~2010-10-14 12:57 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1286290127.19619.1398473465@webmail.messagingengine.com>
2010-10-05 15:24 ` [Qemu-devel] Re: 8 NIC limit Dustin Kirkland
     [not found]   ` <1286294888.11462.1398488135@webmail.messagingengine.com>
     [not found]     ` <1286295603.7731.28.camel@x200>
2010-10-06  5:46       ` [Qemu-devel] Re: 8 NIC limit - patch - places limit at 32 linux_kvm
2010-10-06 12:54         ` Anthony Liguori
2010-10-13 22:18         ` [Qemu-devel] Hitting 29 NIC limit (was Re: 8 NIC limit - patch - places limit at 32) Anjali Kulkarni
2010-10-13 22:32           ` [Qemu-devel] Hitting 29 NIC limit Anjali Kulkarni
2010-10-13 22:54             ` Anthony Liguori
2010-10-14 12:07               ` Avi Kivity
2010-10-14 12:10                 ` Daniel P. Berrange
2010-10-14 12:57                   ` Anthony Liguori [this message]
2010-10-18 20:07                     ` H. Peter Anvin
2010-10-14 21:42                   ` Richard W.M. Jones
2010-10-14 21:57                     ` Anthony Liguori
2010-10-14 22:00                       ` Anjali Kulkarni
2010-10-14 22:09                         ` Anthony Liguori
2010-10-14 22:12                           ` Anjali Kulkarni
2010-10-14 22:17                             ` Anthony Liguori
2010-11-16 17:23                               ` [Qemu-devel] " Michael S. Tsirkin
2010-11-16 19:00                                 ` Anthony Liguori
2010-10-14 22:08                       ` [Qemu-devel] " Richard W.M. Jones
2010-10-14 12:36                 ` Markus Armbruster
2010-10-14 12:59                   ` Anthony Liguori
2010-10-15  9:11                     ` Markus Armbruster
2010-10-15 18:49                       ` [Qemu-devel] Passing in additional info to guest OS and e1000 test suite? Anjali Kulkarni
2010-10-15 20:02                         ` [Qemu-devel] " Anthony Liguori
2010-10-14 12:54                 ` [Qemu-devel] Hitting 29 NIC limit Anthony Liguori
2010-10-14 13:23                   ` Avi Kivity
2010-10-14 14:11                     ` Anthony Liguori
2010-10-14 14:53                       ` Avi Kivity
2010-11-16 17:21                 ` [Qemu-devel] " Michael S. Tsirkin
     [not found]                   ` <C9081994.3517C%anjali@juniper.net>
     [not found]                     ` <20101117105843.GB10168@redhat.com>
2010-11-18  3:09                       ` Isaku Yamahata
2010-11-18  5:41                         ` Wei Xu
2010-11-18  6:31                           ` Isaku Yamahata
2010-11-18  6:46                         ` Michael S. Tsirkin
2010-11-18  7:09                           ` Isaku Yamahata
2010-11-18  7:15                             ` Michael S. Tsirkin
2010-11-18  7:27                               ` Isaku Yamahata
2010-11-18 11:54                         ` Gerd Hoffmann
2010-11-18 23:55                           ` Isaku Yamahata

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CB6FE30.1040904@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=anjali@juniper.net \
    --cc=avi@redhat.com \
    --cc=berrange@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).