Re: [PATCH 23/32] Generic dynamic per cpu refcounting

From: Tejun Heo
Date: Mon Jan 28 2013 - 12:59:48 EST


Hello, Kent.

On Mon, Jan 28, 2013 at 09:53:04AM -0800, Kent Overstreet wrote:
> > Like Tejun, I'd prefer to see it always alloc up-front, because it
> > avoids the _noalloc variant (which is backwards: please hand gfp_t, so
> > you don't hide the alloc) and heuristics.
>
> Problem with gfp_t is alloc_percpu() doesn't take it. I don't know why,
> but this all goes away with Tejun's idea for allocating from a pool
> refilled by workqueue.

It goes down to how we allocate page tables. percpu depends on
vmalloc space allocation which in turn depends on page table
allocation which unfortunately assumes GFP_KERNEL and is spread all
across different architectures. Adding @gfp to it came up a couple
times but the cases weren't strong enough to push it all the way
through. There are some aspects that I like about forcing GFP_KERNEL
on all percpu allocations but if there are strong enough cases and
someone is willing enough to push it through, maybe.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/