All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Anthony Liguori <anthony@codemonkey.ws>,
	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 14:36:19 +0200	[thread overview]
Message-ID: <m339s9dk8s.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <4CB6F275.2060204@redhat.com> (Avi Kivity's message of "Thu, 14 Oct 2010 14:07:17 +0200")

Avi Kivity <avi@redhat.com> 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.

> 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.

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

WARNING: multiple messages have this Message-ID (diff)
From: Markus Armbruster <armbru@redhat.com>
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 14:36:19 +0200	[thread overview]
Message-ID: <m339s9dk8s.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <4CB6F275.2060204@redhat.com> (Avi Kivity's message of "Thu, 14 Oct 2010 14:07:17 +0200")

Avi Kivity <avi@redhat.com> 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.

> 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.

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

  parent reply	other threads:[~2010-10-14 12:36 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 [this message]
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                 ` [Qemu-devel] Hitting 29 NIC limit Anthony Liguori
2010-10-14 12:54                   ` 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=m339s9dk8s.fsf@blackfin.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=anjali@juniper.net \
    --cc=anthony@codemonkey.ws \
    --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.