All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: Anjali Kulkarni <anjali@juniper.net>,
	"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:54:22 -0500	[thread overview]
Message-ID: <4CB6FD7E.7010606@codemonkey.ws> (raw)
In-Reply-To: <4CB6F275.2060204@redhat.com>

On 10/14/2010 07:07 AM, 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.

Yes.  Our hotplug design is based on devices..  This is wrong, it should 
be based on bus-level concepts (like PCI slots).

> If we want to support a large number of interfaces, we need true 
> multiport cards.

This magic here creates a multiport virtio-net card so I'm not really 
sure what you're suggesting.  It would certainly be nice to make this 
all more user friendly (and make hotplug work).

Regards,

Anthony Liguori

> What's the motivation for such a huge number of interfaces?


WARNING: multiple messages have this Message-ID (diff)
From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: Anjali Kulkarni <anjali@juniper.net>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] Hitting 29 NIC limit
Date: Thu, 14 Oct 2010 07:54:22 -0500	[thread overview]
Message-ID: <4CB6FD7E.7010606@codemonkey.ws> (raw)
In-Reply-To: <4CB6F275.2060204@redhat.com>

On 10/14/2010 07:07 AM, 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.

Yes.  Our hotplug design is based on devices..  This is wrong, it should 
be based on bus-level concepts (like PCI slots).

> If we want to support a large number of interfaces, we need true 
> multiport cards.

This magic here creates a multiport virtio-net card so I'm not really 
sure what you're suggesting.  It would certainly be nice to make this 
all more user friendly (and make hotplug work).

Regards,

Anthony Liguori

> What's the motivation for such a huge number of interfaces?

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

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-05 14:48 8 NIC limit linux_kvm
2010-10-05 15:24 ` Dustin Kirkland
2010-10-05 15:24   ` [Qemu-devel] " Dustin Kirkland
     [not found]   ` <1286294888.11462.1398488135@webmail.messagingengine.com>
     [not found]     ` <1286295603.7731.28.camel@x200>
2010-10-06  5:46       ` 8 NIC limit - patch - places limit at 32 linux_kvm
2010-10-06  5:46         ` [Qemu-devel] " linux_kvm
2010-10-06 12:54         ` Anthony Liguori
2010-10-06 17:11           ` linux_kvm
2010-10-07  1:39             ` Chris Wright
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           ` Hitting 29 NIC limit Anjali Kulkarni
2010-10-13 22:32             ` [Qemu-devel] " Anjali Kulkarni
2010-10-13 22:54             ` Anthony Liguori
2010-10-13 22:54               ` Anthony Liguori
2010-10-14 12:07               ` Avi Kivity
2010-10-14 12:07                 ` Avi Kivity
2010-10-14 12:10                 ` Daniel P. Berrange
2010-10-14 12:10                   ` Daniel P. Berrange
2010-10-14 12:57                   ` Anthony Liguori
2010-10-14 12:57                     ` Anthony Liguori
2010-10-18 20:07                     ` H. Peter Anvin
2010-10-18 20:07                       ` H. Peter Anvin
2010-10-14 21:42                   ` Richard W.M. Jones
2010-10-14 21:42                     ` Richard W.M. Jones
2010-10-14 21:57                     ` Anthony Liguori
2010-10-14 21:57                       ` Anthony Liguori
2010-10-14 22:00                       ` Anjali Kulkarni
2010-10-14 22:00                         ` Anjali Kulkarni
2010-10-14 22:09                         ` Anthony Liguori
2010-10-14 22:09                           ` Anthony Liguori
2010-10-14 22:12                           ` Anjali Kulkarni
2010-10-14 22:12                             ` Anjali Kulkarni
2010-10-14 22:17                             ` Anthony Liguori
2010-10-14 22:17                               ` Anthony Liguori
2010-11-16 17:23                               ` Michael S. Tsirkin
2010-11-16 17:23                                 ` [Qemu-devel] " Michael S. Tsirkin
2010-11-16 19:00                                 ` Anthony Liguori
2010-11-16 19:00                                   ` [Qemu-devel] " Anthony Liguori
2010-10-14 22:08                       ` [Qemu-devel] " Richard W.M. Jones
2010-10-14 22:08                         ` Richard W.M. Jones
2010-10-14 12:36                 ` Markus Armbruster
2010-10-14 12:36                   ` Markus Armbruster
2010-10-14 12:59                   ` Anthony Liguori
2010-10-14 12:59                     ` Anthony Liguori
2010-10-15  9:11                     ` Markus Armbruster
2010-10-15  9:11                       ` [Qemu-devel] " Markus Armbruster
2010-10-15 18:49                       ` Passing in additional info to guest OS and e1000 test suite? Anjali Kulkarni
2010-10-15 18:49                         ` [Qemu-devel] " Anjali Kulkarni
2010-10-15 20:02                         ` Anthony Liguori
2010-10-15 20:02                           ` [Qemu-devel] " Anthony Liguori
2010-10-14 12:54                 ` Anthony Liguori [this message]
2010-10-14 12:54                   ` [Qemu-devel] Hitting 29 NIC limit Anthony Liguori
2010-10-14 13:23                   ` Avi Kivity
2010-10-14 13:23                     ` Avi Kivity
2010-10-14 14:11                     ` Anthony Liguori
2010-10-14 14:11                       ` Anthony Liguori
2010-10-14 14:53                       ` Avi Kivity
2010-10-14 14:53                         ` Avi Kivity
2010-10-28 20:52                 ` [Qemu-devel] Hitting 29 NIC limit (+Intel VT-c) linux_kvm
2010-11-16 17:21                 ` Hitting 29 NIC limit Michael S. Tsirkin
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
2010-10-05 15:57 ` 8 " Markus Armbruster
2010-10-05 16:20   ` linux_kvm
2010-10-05 16:43 ` Brian Jackson

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=4CB6FD7E.7010606@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=anjali@juniper.net \
    --cc=avi@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.