Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1550667
| From | Mel Gorman <mgorman@techsingularity.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [RFC PATCH 0/4] Fast noirq bulk page allocator |
| Date | 2017-01-04 12:20 +0100 |
| Message-ID | <sVRLP-3XT-7@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
This series is motivated by a conversation led by Jesper Dangaard Brouer at the last LSF/MM proposing a generic page pool for DMA-coherent pages. Part of his motivation was due to the overhead of allocating multiple order-0 that led some drivers to use high-order allocations and splitting them which can be very slow if high-order pages are unavailable. This long-overdue series aims to show that raw bulk page allocation can be achieved relatively easily without introducing a completely new allocator. A new generic page pool allocator would then ideally focus on just the DMA-coherent part. The first two patches in the series restructure the allocator such that it's relatively easy to build a bulk page allocator. The third patch alters the per-cpu alloctor to make it exclusive to !irq requests. This cuts allocation/free overhead by roughly 30% but it may not be noticable to anyone other than users of high-speed networks (I'm not one). The fourth patch introduces a bulk page allocator with no in-kernel users as an example for Jesper and others who want to build a page allocator for DMA-coherent pages. It hopefully is relatively easy to modify this API and the one core function to get the semantics they require. Note that Patch 3 is not required for patch 4 but it may be desirable if the bulk allocations happen from !IRQ context. include/linux/gfp.h | 23 ++++ mm/page_alloc.c | 329 ++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 254 insertions(+), 98 deletions(-) -- 2.11.0
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[RFC PATCH 0/4] Fast noirq bulk page allocator Mel Gorman <mgorman@techsingularity.net> - 2017-01-04 12:20 +0100
[PATCH 4/4] mm, page_alloc: Add a bulk page allocator Mel Gorman <mgorman@techsingularity.net> - 2017-01-04 12:20 +0100
Re: [PATCH 4/4] mm, page_alloc: Add a bulk page allocator Jesper Dangaard Brouer <brouer@redhat.com> - 2017-01-04 15:00 +0100
Re: [PATCH 4/4] mm, page_alloc: Add a bulk page allocator Mel Gorman <mgorman@techsingularity.net> - 2017-01-04 15:20 +0100
csiph-web