From: Kent Overstreet <koverstreet@google.com>
To: Steven Whitehouse <swhiteho@redhat.com>
Cc: akpm@linux-foundation.org, tj@kernel.org, axboe@kernel.dk,
nab@linux-iscsi.org, bcrl@kvack.org,
linux-kernel@vger.kernel.org,
Stephen Rothwell <sfr@canb.auug.org.au>,
Fengguang Wu <fengguang.wu@intel.com>
Subject: Re: [PATCH 03/10] idr: Rewrite ida
Date: Wed, 19 Jun 2013 16:38:36 -0700 [thread overview]
Message-ID: <20130619233836.GA6986@localhost> (raw)
In-Reply-To: <1371634822.2735.9.camel@menhir>
On Wed, Jun 19, 2013 at 10:40:22AM +0100, Steven Whitehouse wrote:
> Hi,
>
> On Tue, 2013-06-18 at 17:02 -0700, Kent Overstreet wrote:
> > This is a new, from scratch implementation of ida that should be
> > simpler, faster and more space efficient.
> >
> [...]
>
> >
> > This does mean that the entire bitmap is stored in one contiguous memory
> > allocation - and as currently implemented we won't be able to allocate
> > _quite_ as many ids as with the previous implementation.
> >
> > I don't expect this to be an issue in practice since anywhere this is
> > used, an id corresponds to a struct allocation somewher else - we can't
> > allocate an unbounded number of ids, we'll run out of memory somewhere
> > else eventually, and I expect that to be the limiting factor in
> > practice.
> >
> > If a user/use case does come up where this matters I can add some
> > sharding (or perhaps add a separate big_ida implementation) - but the
> > extra complexity would adversely affect performance for the users that
> > don't need > millions of ids, so I intend to leave the implementation as
> > is until if and when this becomes an issue.
> >
>
> Millions of IDs is something that is fairly normal for DLM, since there
> will be two DLM locks per cached inode with GFS2 and people tend to use
> it on pretty large servers with lots of memory,
Thanks, I wasn't aware of that. Is the 31 bits for the id limitation an
issue for you? While I'm at changing ids to longs should be fairly
trivial.
next prev parent reply other threads:[~2013-06-19 23:38 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-19 0:02 [PATCH v2] lib/idr.c rewrite, percpu ida/tag allocator Kent Overstreet
2013-06-19 0:02 ` [PATCH 03/10] idr: Rewrite ida Kent Overstreet
2013-06-19 9:40 ` Steven Whitehouse
2013-06-19 23:38 ` Kent Overstreet [this message]
2013-06-21 16:33 ` David Teigland
2013-06-19 0:02 ` [PATCH 04/10] idr: Percpu ida Kent Overstreet
2013-06-19 0:02 ` [PATCH 05/10] idr: Kill old deprecated idr interfaces Kent Overstreet
2013-06-19 0:02 ` [PATCH 06/10] idr: Rename idr_get_next() -> idr_find_next() Kent Overstreet
[not found] ` <1371600150-23557-1-git-send-email-koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-06-19 0:02 ` [PATCH 07/10] idr: Rename idr_alloc() -> idr_alloc_range() Kent Overstreet
2013-06-19 0:02 ` [Drbd-dev] " Kent Overstreet
2013-06-19 16:44 ` Alex Williamson
2013-06-19 17:28 ` Davidlohr Bueso
2013-06-21 3:13 ` Vinod Koul
2013-06-19 0:02 ` [PATCH 09/10] idr: Remove unneeded idr locking, idr_preload() usage Kent Overstreet
2013-06-19 0:02 ` Kent Overstreet
2013-06-19 0:02 ` [PATCH 08/10] idr: Reimplement idr on top of ida/radix trees Kent Overstreet
2013-06-19 0:02 ` [Cluster-devel] [PATCH 10/10] idr: Rework idr_preload() Kent Overstreet
2013-06-19 0:02 ` Kent Overstreet
2013-06-19 8:18 ` [Cluster-devel] " Tejun Heo
2013-06-19 8:18 ` Tejun Heo
2013-06-19 23:33 ` [Cluster-devel] " Kent Overstreet
2013-06-19 23:33 ` Kent Overstreet
2013-06-19 23:46 ` [Cluster-devel] " Tejun Heo
2013-06-19 23:46 ` Tejun Heo
-- strict thread matches above, loose matches on Subject: below --
2013-07-06 5:08 [PATCH v3] lib/idr.c rewrite, percpu ida/tag allocator Kent Overstreet
2013-07-06 5:08 ` [PATCH 03/10] idr: Rewrite ida Kent Overstreet
2013-08-07 17:34 IDA/IDR rewrite, percpu ida Kent Overstreet
2013-08-07 17:34 ` [PATCH 03/10] idr: Rewrite ida Kent Overstreet
2013-08-07 20:22 ` Tejun Heo
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=20130619233836.GA6986@localhost \
--to=koverstreet@google.com \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=bcrl@kvack.org \
--cc=fengguang.wu@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nab@linux-iscsi.org \
--cc=sfr@canb.auug.org.au \
--cc=swhiteho@redhat.com \
--cc=tj@kernel.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.