On Wed, 4 Jan 2012 16:37:13 -0800 Arun Sharma <asharma@xxxxxx> wrote: > > A few years ago, Davide posted patches to address clear_page() showing > up high in the kernel profiles. > > http://thread.gmane.org/gmane.linux.kernel/548928 > > With malloc implementations that try to conserve the RSS by madvising > away unused pages that are dirty (i.e. faulted in), we pay a high cost > in clear_page() if that page is needed later by the same process. > > Now that we have memcgs with their own LRU lists, I was thinking of a > MAP_NOZERO implementation that tries to avoid zero'ing the page if it's > coming from the same memcg. > > This will probably need an extra PCG_* flag maintaining state about > whether the page was moved between memcgs since last use. > When pages are freed, it goes back to global page allocator. memcg has no page allocator hooks for alloc/free. We, memcg guys, tries to reduce size of page_cgroup remove page_cgroup->flags. And finally want to integrate it to struct 'page'. So, I don't like your idea very much. please find another way. > Security implications: this is not as good as the UID based checks in > Davide's implementation, so should probably be an opt-in instead of > being enabled by default. > I think you need an another page allocator as hugetlb.c does and need to maintain 'page pool'. Thanks, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>