From: Stephen Hemminger <shemminger@vyatta.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Tom Parkin <tparkin@katalix.com>, netdev <netdev@vger.kernel.org>
Subject: Re: Supporting more devices with dev_alloc_name()
Date: Thu, 25 Oct 2012 11:16:44 -0700 [thread overview]
Message-ID: <20121025111644.301dc9d8@nehalam.linuxnetplumber.net> (raw)
In-Reply-To: <1351187443.6537.184.camel@edumazet-glaptop>
On Thu, 25 Oct 2012 19:50:43 +0200
Eric Dumazet <eric.dumazet@gmail.com> wrote:
> On Thu, 2012-10-25 at 17:56 +0100, Tom Parkin wrote:
> > Hi list,
> >
> > I've recently been trying to create large-scale L2TPv3 configurations
> > of up to 50,000 Ethernet pseudowires.
> >
> > One of the limitations I've hit has been to do with dev_alloc_name().
> > By default, l2tp_eth uses "l2tpeth%d" for device names, which is
> > expanded by dev_alloc_name() into l2tpeth1, l2tpeth2, etc. However,
> > the algorithm dev_alloc_name() uses to derive the next free number for
> > this scheme is bounded by the number of bits in a single page. For
> > kernels/platforms with a 4kB page, this limits these "autoderived"
> > names to 32k.
> >
> > In my testing I've been able to work around this by specifying
> > interface names during the bringup of the l2tpeth interfaces, thereby
> > bypassing dev_alloc_name() altogether. Using this approach I am able
> > to comfortably create 50k interfaces, even on fairly modest hardware.
> > But it seems a shame to have to do this; it would be much nicer if
> > the kernel were able to autogenerate names for more devices.
> >
> > Is this something that would be worth my working on a patch for, or
> > would the increased code complexity be too great an overhead to
> > consider for such outlandish use-cases?
>
> This issue was raised some ago, for the dummy device
>
> modprobe dummy numdummies=33000
>
> I guess each format (eg eth%d) could be attached/associated to an idr,
> so that we can find the lowest available index very fast.
You could try vzalloc() instead of get_zeroed_page which would allow for
bigger bitmap.
prev parent reply other threads:[~2012-10-25 18:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-25 16:56 Supporting more devices with dev_alloc_name() Tom Parkin
2012-10-25 17:50 ` Eric Dumazet
2012-10-25 18:16 ` Stephen Hemminger [this message]
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=20121025111644.301dc9d8@nehalam.linuxnetplumber.net \
--to=shemminger@vyatta.com \
--cc=eric.dumazet@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=tparkin@katalix.com \
/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.