On Mon, 18 Mar 2013 17:44:42 -0400 Andrew Shewmaker <agshew@xxxxxxxxx> 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? -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>