Re: MAP_NOZERO revisited

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]