From: Kent Overstreet <kmo@daterainc.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org>,
target-devel <target-devel@vger.kernel.org>,
lf-virt <virtualization@lists.linux-foundation.org>,
lkml <linux-kernel@vger.kernel.org>,
kvm-devel <kvm@vger.kernel.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Asias He <asias@redhat.com>, Jens Axboe <axboe@kernel.dk>,
Tejun Heo <tj@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Andi Kleen <andi@firstfloor.org>,
Christoph Lameter <cl@gentwo.org>,
Oleg Nesterov <oleg@redhat.com>,
Christoph Lameter <cl@linux-foundation.org>
Subject: Re: [PATCH-v3 1/4] idr: Percpu ida
Date: Mon, 26 Aug 2013 13:14:37 -0700 [thread overview]
Message-ID: <20130826201437.GA13621@kmo-pixel> (raw)
In-Reply-To: <20130820143157.f91bf59d16352989b54e431e@linux-foundation.org>
On Tue, Aug 20, 2013 at 02:31:57PM -0700, Andrew Morton wrote:
> On Fri, 16 Aug 2013 23:09:06 +0000 "Nicholas A. Bellinger" <nab@linux-iscsi.org> wrote:
>
> > From: Kent Overstreet <kmo@daterainc.com>
> >
> > Percpu frontend for allocating ids. With percpu allocation (that works),
> > it's impossible to guarantee it will always be possible to allocate all
> > nr_tags - typically, some will be stuck on a remote percpu freelist
> > where the current job can't get to them.
> >
> > We do guarantee that it will always be possible to allocate at least
> > (nr_tags / 2) tags - this is done by keeping track of which and how many
> > cpus have tags on their percpu freelists. On allocation failure if
> > enough cpus have tags that there could potentially be (nr_tags / 2) tags
> > stuck on remote percpu freelists, we then pick a remote cpu at random to
> > steal from.
> >
> > Note that there's no cpu hotplug notifier - we don't care, because
> > steal_tags() will eventually get the down cpu's tags. We _could_ satisfy
> > more allocations if we had a notifier - but we'll still meet our
> > guarantees and it's absolutely not a correctness issue, so I don't think
> > it's worth the extra code.
> >
> > ...
> >
> > include/linux/idr.h | 53 +++++++++
> > lib/idr.c | 316 +++++++++++++++++++++++++++++++++++++++++++++++++--
>
> I don't think this should be in idr.[ch] at all. It has no
> relationship with the existing code. Apart from duplicating its
> functionality :(
Well, in the full patch series it does make use of the non-percpu ida.
I'm still hoping to get the ida/idr rewrites in.
next prev parent reply other threads:[~2013-08-26 20:14 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-16 23:09 [PATCH-v3 0/4] target/vhost-scsi: Add per-cpu ida tag pre-allocation for v3.12 Nicholas A. Bellinger
2013-08-16 23:09 ` Nicholas A. Bellinger
2013-08-16 23:09 ` [PATCH-v3 1/4] idr: Percpu ida Nicholas A. Bellinger
2013-08-16 23:09 ` Nicholas A. Bellinger
2013-08-20 21:31 ` Andrew Morton
2013-08-26 20:14 ` Kent Overstreet [this message]
2013-08-26 20:14 ` Kent Overstreet
2013-08-28 19:53 ` Kent Overstreet
2013-08-28 19:53 ` Kent Overstreet
2013-08-28 20:23 ` Andrew Morton
2013-08-28 20:23 ` Andrew Morton
2013-08-28 20:44 ` Kent Overstreet
2013-08-28 20:44 ` Kent Overstreet
2013-08-28 20:50 ` Andrew Morton
2013-08-28 20:50 ` Andrew Morton
2013-08-28 21:12 ` Kent Overstreet
2013-08-28 21:12 ` Kent Overstreet
2013-08-28 21:15 ` Andrew Morton
2013-08-28 21:15 ` Andrew Morton
2013-08-28 19:55 ` [PATCH] percpu ida: Switch to cpumask_t, add some comments Kent Overstreet
2013-08-28 19:55 ` Kent Overstreet
2013-08-28 20:25 ` Andrew Morton
2013-08-28 20:25 ` Andrew Morton
2013-08-28 21:00 ` Kent Overstreet
2013-08-28 21:00 ` Kent Overstreet
2013-08-28 21:10 ` Andrew Morton
2013-08-28 21:10 ` Andrew Morton
2013-08-28 21:23 ` Kent Overstreet
2013-08-28 21:26 ` Kent Overstreet
2013-08-28 21:36 ` Andrew Morton
2013-08-28 21:36 ` Andrew Morton
2013-08-31 3:10 ` Nicholas A. Bellinger
2013-08-31 3:10 ` Nicholas A. Bellinger
2013-08-28 21:26 ` Kent Overstreet
2013-08-20 21:31 ` [PATCH-v3 1/4] idr: Percpu ida Andrew Morton
2013-08-21 18:25 ` Christoph Lameter
2013-08-21 18:25 ` Christoph Lameter
2013-08-26 20:23 ` Kent Overstreet
2013-08-26 20:23 ` Kent Overstreet
2013-08-16 23:09 ` [PATCH-v3 2/4] target: Add transport_init_session_tags using per-cpu ida Nicholas A. Bellinger
2013-08-16 23:09 ` Nicholas A. Bellinger
2013-08-16 23:09 ` [PATCH-v3 3/4] vhost/scsi: Convert to per-cpu ida_alloc + ida_free command map Nicholas A. Bellinger
2013-08-16 23:09 ` Nicholas A. Bellinger
2013-08-16 23:09 ` [PATCH-v3 4/4] vhost/scsi: Add pre-allocation for tv_cmd SGL + upages memory Nicholas A. Bellinger
2013-08-16 23:09 ` Nicholas A. Bellinger
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=20130826201437.GA13621@kmo-pixel \
--to=kmo@daterainc.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=asias@redhat.com \
--cc=axboe@kernel.dk \
--cc=cl@gentwo.org \
--cc=cl@linux-foundation.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=mst@redhat.com \
--cc=nab@linux-iscsi.org \
--cc=oleg@redhat.com \
--cc=target-devel@vger.kernel.org \
--cc=tj@kernel.org \
--cc=virtualization@lists.linux-foundation.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.