[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20140902185005.GA28687@mtj.dyndns.org>
Date: Tue, 2 Sep 2014 14:50:05 -0400
From: Tejun Heo <tj@...nel.org>
To: akpm@...ux-foundation.org, cl@...ux-foundation.org
Cc: laijs@...fujitsu.com, linux-kernel@...r.kernel.org,
vgoyal@...hat.com
Subject: Re: [PATCHSET REPOST percpu/for-3.18] percpu: implement atomic
allocation support
On Fri, Aug 22, 2014 at 12:53:04PM -0400, Tejun Heo wrote:
> (the initial posting was missing cc's, reposting)
>
> Due to the use of vmalloc area allocations and page table populations,
> preparing percpu areas require GFP_KERNEL and all the allocator users
> are expected to be able to perform GFP_KERNEL allocations. This is
> mostly okay but there are cases where atomic percpu allocations are
> necessary usually in the IO path.
>
> Currently, blk-throttle is implementing its own ad-hoc async
> allocation and there are some more planned similar usages. I posted
> [1] percpu_pool which generalizes the percpu atomic allocation a bit
> but this was a bit too cumbersome especially to use with other library
> data structures which make use of percpu memory as a part of it.
>
> This patchset implements proper atomic allocation support in the
> percpu allocator. It's largely composed of two parts. The first is
> updates to the area allocator so that it can skip non-populated areas.
> The second is async filling mechanisms which try to maintain a certain
> level of empty populated areas. The allocator currently tries to keep
> the number of empty populated pages between 2 and 4. Even with fairly
> aggressive back-to-back allocations, this seems enough to satisfy most
> allocations as long as the allocation size is under a page.
1-2 applied to percpu/for-3.17-fixes. The rest applied to
percpu/for-3.18.
Thanks.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists