On Mon, Dec 14, 2015 at 11:12:38AM +0300, Konstantin Khlebnikov wrote: > Here several rated changes bundled together: > * keep vma counting if CONFIG_PROC_FS=n, will be used for limits > * replace mm->shared_vm with better defined mm->data_vm > * account anonymous executable areas as executable > * account file-backed growsdown/up areas as stack > * drop struct file* argument from vm_stat_account > * enforce RLIMIT_DATA for size of data areas > > This way code looks cleaner: now code/stack/data > classification depends only on vm_flags state: > > VM_EXEC & ~VM_WRITE -> code (VmExe + VmLib in proc) > VM_GROWSUP | VM_GROWSDOWN -> stack (VmStk) > VM_WRITE & ~VM_SHARED & !stack -> data (VmData) > > The rest (VmSize - VmData - VmStk - VmExe - VmLib) could be called "shared", > but that might be strange beasts like readonly-private or VM_IO areas. > > RLIMIT_AS limits whole address space "VmSize" > RLIMIT_STACK limits stack "VmStk" (but each vma individually) > RLIMIT_DATA now limits "VmData" > > Signed-off-by: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Looks OK to me. Lets wait for Linus' opinion. -- 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>