Re: [PATCH -mmotm] mm: init_per_zone_pages_min - get rid of sqrtcall on small machines

From: Cyrill Gorcunov
Date: Wed May 06 2009 - 02:50:00 EST


[David Rientjes - Tue, May 05, 2009 at 11:36:38PM -0700]
| On Wed, 6 May 2009, Cyrill Gorcunov wrote:
|
| > 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();
|
| For a function that's called once, this just isn't worth it. int_sqrt()
| isn't expensive enough to warrant the assault on the readability of the
| code.
|

ok, then we could just drop it.

-- Cyrill
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/