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@xxxxxxxxxxxxxxx> wrote: > > > From: Kent Overstreet <kmo@xxxxxxxxxxxxx> > > > > 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. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html