Re: [PATCH 7/8] mm: use vm_unmapped_area() on powerpc architecture
From: Michel Lespinasse <hidden>
Date: 2013-01-09 02:39:00
Also in:
linux-mm, linuxppc-dev, lkml
From: Michel Lespinasse <hidden>
Date: 2013-01-09 02:39:00
Also in:
linux-mm, linuxppc-dev, lkml
On Tue, Jan 8, 2013 at 6:15 PM, Benjamin Herrenschmidt [off-list ref] wrote:
On Tue, 2013-01-08 at 17:28 -0800, Michel Lespinasse wrote:quoted
Update the powerpc slice_get_unmapped_area function to make use of vm_unmapped_area() instead of implementing a brute force search. Signed-off-by: Michel Lespinasse <redacted> --- arch/powerpc/mm/slice.c | 128 +++++++++++++++++++++++++++++----------------- 1 files changed, 81 insertions(+), 47 deletions(-)That doesn't look good ... the resulting code is longer than the original, which makes me wonder how it is an improvement...
Well no fair, the previous patch (for powerpc as well) has 22 insertions and 93 deletions :) The benefit is that the new code has lower algorithmic complexity, it replaces a per-vma loop with O(N) complexity with an outer loop that finds contiguous slice blocks and passes them to vm_unmapped_area() which is only O(log N) complexity. So the new code will be faster for workloads which use lots of vmas. That said, I do agree that the code that looks for contiguous available slices looks kinda ugly - just not sure how to make it look nicer though. -- Michel "Walken" Lespinasse A program is never fully debugged until the last user dies.