Re: [PATCH] mm: Enable MAP_UNINITIALIZED for archs with mmu

From: Arun Sharma
Date: Tue Feb 21 2012 - 19:34:47 EST


On 1/24/12 5:45 PM, Arun Sharma wrote:
On 1/23/12 7:07 PM, KAMEZAWA Hiroyuki wrote:

You can see reduction of clear_page() cost by removing GFP_ZERO but
what's your application's total performance ? Is it good enough
considering
many risks ?

I see 90k calls/sec to clear_page_c when running our application. I
don't have data on the impact of GFP_ZERO alone, but an earlier
experiment when we tuned malloc to not call madvise(MADV_DONTNEED)
aggressively saved us 3% CPU. So I'm expecting this to be a 1-2% win.

I saw some additional measurement data today.

We were running at a lower-than-default value for the rate at which our malloc implementation releases unused faulted-in memory to the kernel via madvise(). This was done just to reduce the impact of clear_page() on application performance. But it cost us at least several hundred megs (if not more) in additional RSS.

We compared the impact of increasing the madvise rate to the default[1]. This used to cause a 3% CPU regression earlier. But with the patch, the regression was completely gone and we recovered a bunch of memory in terms of reduced RSS.

Hope this additional data is useful. Happy to clean up the patch and implement the opt-in flags.

-Arun

[1] The default rate is 32:1, i.e. no more than 1/32th of the heap is unused and dirty (i.e. contributing to RSS).
--
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/