Messages in this thread | | | Date | Wed, 21 Aug 2013 13:49:45 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] idr: Use this_cpu_ptr() for percpu_ida |
| |
On Wed, 21 Aug 2013 14:32:55 +0000 Christoph Lameter <cl@linux.com> wrote:
> On Tue, 20 Aug 2013, Nicholas A. Bellinger wrote: > > > On Thu, 2013-08-08 at 14:32 +0000, Christoph Lameter wrote: > > > On Wed, 7 Aug 2013, Kent Overstreet wrote: > > > > > > > One thing that was bugging me - I was never able to figure out for sure > > > > if smp_processor_id() returns a number in the range [0, nr_cpu_ids), at > > > > least I couldn't find where it was documented - could you tell me if > > > > that's true? > > > > > > I always assumed that it was in the range 0 ... nr_cpu_ids - 1 and that is > > > the assumption under which the kernel code was written. Things would break > > > horribly if smp_process_id would return nr_cpu_ids or higher. > > > > > > > Hi guys, > > > > Just a heads up that I've put Kent's standalone percpu-ida patch (with > > Christoph's recommend changes) into target-pending/for-next here: > > > > https://git.kernel.org/cgit/linux/kernel/git/nab/target-pending.git/commit/?h=for-next&id=47bd524a5b3eb6429b058b8b562b45329ab2c9e7 > > > > I've got a number of target patches that depend on this code for v3.12, > > and a delay on this particular piece would be painful to endure.. > > > > Sooo, please yell loudly if there is an objection to percpu-ida merge as > > a completely standalone item, that does not effect any existing ida > > code. > > Well the performance is still going to be limited due to the spinlock in > the percpu handling. You do not need the spinlock. Once preempt is off you > should have exclusive access to the per cpu data.
The lock is needed so that one cpu can steal tags from another cpu's cache. See (the needlessly inlined!) steal_tags().
| |