lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 09 Jan 2013 14:32:56 +1100 From: Benjamin Herrenschmidt <benh@...nel.crashing.org> To: Michel Lespinasse <walken@...gle.com> Cc: Rik van Riel <riel@...hat.com>, "James E.J. Bottomley" <jejb@...isc-linux.org>, Matt Turner <mattst88@...il.com>, David Howells <dhowells@...hat.com>, Tony Luck <tony.luck@...el.com>, linux-mm@...ck.org, linux-kernel@...r.kernel.org, Andrew Morton <akpm@...ux-foundation.org>, linuxppc-dev@...ts.ozlabs.org, linux-parisc@...r.kernel.org, linux-alpha@...r.kernel.org, linux-ia64@...r.kernel.org Subject: Re: [PATCH 7/8] mm: use vm_unmapped_area() on powerpc architecture On Tue, 2013-01-08 at 18:38 -0800, Michel Lespinasse wrote: > > 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. Ok. I think at least you can move that construct: + if (addr < SLICE_LOW_TOP) { + slice = GET_LOW_SLICE_INDEX(addr); + addr = (slice + 1) << SLICE_LOW_SHIFT; + if (!(available.low_slices & (1u << slice))) + continue; + } else { + slice = GET_HIGH_SLICE_INDEX(addr); + addr = (slice + 1) << SLICE_HIGH_SHIFT; + if (!(available.high_slices & (1u << slice))) + continue; + } Into some kind of helper. It will probably compile to the same thing but at least it's more readable and it will avoid a fuckup in the future if somebody changes the algorithm and forgets to update one of the copies :-) Cheers, Ben. -- 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