Messages in this thread | | | Date | Thu, 22 Dec 2011 20:00:42 -0500 | From | Vivek Goyal <> | Subject | Re: [PATCH 7/7] block: fix deadlock through percpu allocation in blk-cgroup |
| |
On Thu, Dec 22, 2011 at 01:45:26PM -0800, Tejun Heo wrote:
[..] > +/* > + * Percpu mempool for blkgio_group_stats_cpu which are allocated on-demand > + * on IO path. As percpu doesn't support NOIO allocations, we need to > + * buffer them through mempool. > + */ > +struct percpu_mempool *blkg_stats_cpu_pool; > +EXPORT_SYMBOL_GPL(blkg_stats_cpu_pool); > +
Thanks for this work Tejun.
So this pool is global and shared by all devices (both by CFQ and throttling logic). I am not sure if there are any advantages of having this pool per queue. In one of the mails you mentioned that dm is having one pool across many devices which defeats the purpose of having mempool.
********************************************************************** It seemed the problem was dm sharing the same pool from multiple devices (which defeats the purpose of using mempool BTW) *********************************************************************
Not sure why devices sharing a mempool is a bad idea. Having a global pool definitely simplifies the implementation a lot in this case.
Thanks Vivek
| |