Messages in this thread |  | | Date | Wed, 27 Mar 2013 14:28:32 -0700 | | From | Andrew Morton <> | | Subject | Re: [PATCH v6 1/2] mm: limit growth of 3% hardcoded other user reserve |
| |
On Mon, 18 Mar 2013 17:44:42 -0400 Andrew Shewmaker <agshew@gmail.com> wrote:
> Add user_reserve_kbytes knob. > > Limit the growth of the memory reserved for other user > processes to min(3% current process size, user_reserve_pages). > > user_reserve_pages defaults to min(3% free pages, 128MB)
That was an epic changelog ;)
> > ... > > +int __meminit init_user_reserve(void) > +{ > + unsigned long free_kbytes; > + > + free_kbytes = global_page_state(NR_FREE_PAGES) << (PAGE_SHIFT - 10); > + > + sysctl_user_reserve_kbytes = min(free_kbytes / 32, 1UL << 17); > + return 0; > +} > +module_init(init_user_reserve)
Problem is, the initial default values will become wrong if memory if hot-added or hot-removed.
That could be fixed up by appropriate use of register_memory_notifier(), but what would the notification handler do if the operator has modified the value? Proportionally scale it?
|  |