![]() Percpu_counter_sum_positive() will provide more accurate info.Īs with percpu_counter_read_positive(), in worst case the deviationĬould be 'batch * nr_cpus', which is totalram_pages/256 for now,Īnd will be more when the batch gets enlarged. 9:45 ` make vm_committed_as_batch aware of vm overcommit policy Michal Hockoģ siblings, 0 replies 31+ messages in threadĬc: Feng Tang, K. 7:36 ` mm: adjust vm_committed_as_batch according to vm overcommit policy Feng Tang 7:36 ` proc/meminfo: avoid open coded reading of vm_committed_as Feng 7:36 ` Feng Tang 7:36 make vm_committed_as_batch aware of vm overcommit policy Feng Tang * mm/util.c: make vm_memory_committed() more accurate ^ raw reply related 31+ messages in thread committed = percpu_counter_read_positive(&vm_committed_as) Ĭached = global_node_page_state(NR_FILE_PAGES). +++ -41,7 +41,7 static int meminfo_proc_show(struct seq_file *m, void *v) Use the existing vm_memory_committed() instead, which is alsoġ file changed, 1 insertion(+), 1 deletion(-)ĭiff -git a/fs/proc/meminfo.c b/fs/proc/meminfo.c ` (2 subsequent siblings) 3 siblings, 0 replies 31+ messages in thread 7:36 ` mm/util.c: make vm_memory_committed() more accurate Feng Tang 7:36 make vm_committed_as_batch aware of vm overcommit policy Feng 7:36 ` Feng Tang * proc/meminfo: avoid open coded reading of vm_committed_as Mm: adjust vm_committed_as_batch according to vm overcommit policyĦ files changed, 40 insertions(+), 7 deletions(-) Mm/util.c: make vm_memory_committed() more accurate Proc/meminfo: avoid open coded reading of vm_committed_as ![]() * address the accuracy concern of vm_memory_committed() * add the sysctl handler to cover runtime overcommit policy * change the lift from 16X and 64X after test * refine commit log and cleanup code, according to comments Thanks to Qian Cai for finding and testing the warning * Remove the VM_WARN_ONCE check for vm_committed_as underflow, * add code comments for vm_memory_committed() * remove the 3/4 patch in v4 which is merged in v5.7 This is against today's linux-mm git tree on github. Patch2: a preparation patch which also improve the accuracy of Note: There are some style complain from checkpatch for patch 3,Īs sysctl handler declaration follows the similar format of sibling : mmaps during startups from multiple threads. : I believe that there are non-synthetic worklaods which would benefit Lift it to 64X, 80%+ platforms show improvements, and for 16X lift,ġ/3 of the platforms will show improvements.Īnd generally it should help the mmap/unmap usage,as Michal Hocko We tested 10+ platforms in 0day (server, desktop and laptop). Is bigger than the batch number computed. And for thatĬase, whether it shows improvements depends on if the test mmap size ![]() So keep 'batch' number unchanged for strict OVERCOMMIT_NEVER policy,Īnd enlarge it for not-so-strict OVERCOMMIT_ALWAYS and OVERCOMMIT_GUESSīenchmark with the same testcase in shows 53% improvement on aĨC/16T desktop, and 2097%(20X) on a 4S/72C/144T server. OVERCOMMIT_NEVER policy is set, which requires a rather small batch 'vm_committed_as' needs to be very precise when the strict Mmap test, we found very high lock contention for spinlock ofĩ4.14% 0.35% _raw_spin_lock_irqsaveĤ8.21% _raw_spin_lock_irqsave percpu_counter_add_batch _vm_enough_memory mmap_region do_mmap Ĥ5.91% _raw_spin_lock_irqsave percpu_counter_add_batch _do_munmap Īctually this heavy lock contention is not always necessary. When checking a performance change for will-it-scale scalability Mel Gorman, Kees Cook, Luis Chamberlain, Iurii Zaikin,Īndi.kleen, tim.c.chen, dave.hansen, ying.huang, linux-mm, To: Andrew Morton, Michal Hocko, Johannes Weiner, Matthew Wilcox, ![]() ` (3 more replies) 0 siblings, 4 replies 31+ messages in thread 7:36 ` proc/meminfo: avoid open coded reading of vm_committed_as Feng Tang Make vm_committed_as_batch aware of vm overcommit policy All of help / color / mirror / Atom feed * make vm_committed_as_batch aware of vm overcommit policy 7:36 Feng Tang
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |