Re: [PATCHSET] block, mempool, percpu: implement percpu mempooland fix blkcg percpu alloc deadlock

From: Tejun Heo
Date: Thu Dec 22 2011 - 18:24:42 EST


Hello,

On Thu, Dec 22, 2011 at 03:16:49PM -0800, Andrew Morton wrote:
> > The ones allocated in the last patch. blk_group_cpu_stats.
>
> What last patch.
>
> I can find no occurence of "blk_group_cpu_stats" on linux-kernel or in
> the kernel tree.

Sorry it's blkio_group_stats_cpu. It's in the seventh path in this
series.

> > The stats are per cgroup - request_queue pair. We don't want to
> > allocate for all of them for each combination as there are
> > configurations with stupid number of request_queues and silly many
> > cgroups and #cgroups * #request_queue * #cpus can be huge. So, we
> > want on-demand allocation. While the stats are important, they are
> > not critical and allocations can be opportunistic. If the allocation
> > fails this time, we can try it for the next time.
>
> Without code to look at I am at a loss.

block/blk-cgroup.c blk-throttle.c cfq-iosched.c. Have fun.

> request_queues are allocated in blk_alloc_queue_node(), which uses
> GFP_KERNEL (and also mysteriously takes a gfp_t arg).

Yeah, sure, we *can* allocate everything for every combination when
either request_queue or cgroup comes up. That's the thing I tried to
explain in the above quoted paragraph.

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/