Messages in this thread Patch in this message | | | Date | Wed, 6 May 2009 10:19:53 +0400 | From | Cyrill Gorcunov <> | Subject | [PATCH -mmotm] mm: init_per_zone_pages_min - get rid of sqrt call on small machines |
| |
For small machines we may eliminate call for int_sqrt by using precaulculated value.
CC: David Rientjes <rientjes@google.com> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> --- mm/page_alloc.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
Index: linux-2.6.git/mm/page_alloc.c ===================================================================== --- linux-2.6.git.orig/mm/page_alloc.c +++ linux-2.6.git/mm/page_alloc.c @@ -4610,11 +4610,15 @@ static int __init init_per_zone_pages_mi lowmem_kbytes = nr_free_buffer_pages() * (PAGE_SIZE >> 10); - min_free_kbytes = int_sqrt(lowmem_kbytes * 16); - if (min_free_kbytes < 128) + /* for small values we may eliminate sqrt operation completely */ + if (lowmem_kbytes < 1024) min_free_kbytes = 128; - if (min_free_kbytes > 65536) - min_free_kbytes = 65536; + else { + min_free_kbytes = int_sqrt(lowmem_kbytes * 16); + if (min_free_kbytes > 65536) + min_free_kbytes = 65536; + } + setup_per_zone_pages_min(); setup_per_zone_lowmem_reserve(); setup_per_zone_inactive_ratio();
| |