pmap and mtx scalability problem

Slawa Olhovchenkov slw at zxy.spb.ru
Tue Apr 24 19:13:52 UTC 2012


I treid make -j 30 build{world,kernel} (latest -CURRENT) on 24-core machine and see poor
scalability of pmap/mtx -- more then 50% cpu spend on system time.

pmcstat:

@ CPU_CLK_UNHALTED_CORE [194841 samples]

42.65%  [83102]    _mtx_lock_sleep @ /boot/kernel/kernel
 40.97%  [34051]     pmap_enter
  100.0%  [34051]      vm_fault_hold
   100.0%  [34051]       trap_pfault
 30.40%  [25262]     vm_page_activate
  100.0%  [25262]      vm_fault_hold
   100.0%  [25262]       trap_pfault
 18.41%  [15300]     vm_pageq_remove
  73.63%  [11266]      vm_page_free_toq
   70.69%  [7964]        vm_object_terminate
   29.31%  [3302]        vm_object_page_remove
  26.37%  [4034]       vm_fault_hold
   100.0%  [4034]        trap_pfault

make -j 8:

15.44%  [10740]    _mtx_lock_sleep @ /boot/kernel/kernel
 38.77%  [4164]      pmap_enter
  99.93%  [4161]       vm_fault_hold
   100.0%  [4161]        trap_pfault
  00.07%  [3]          kmem_back
   100.0%  [3]           kmem_malloc
 27.98%  [3005]      vm_page_activate
  100.0%  [3005]       vm_fault_hold
   100.0%  [3005]        trap_pfault
 20.64%  [2217]      vm_pageq_remove
  64.73%  [1435]       vm_page_free_toq
   63.41%  [910]         vm_object_terminate

make -j 4

06.86%  [4222]     pagezero @ /boot/kernel/kernel
 98.39%  [4154]      trap_pfault
  100.0%  [4154]       trap
 01.11%  [47]        vm_fault_hold



More information about the freebsd-performance mailing list