看板 FB_smp 關於我們 聯絡資訊
Ok guys, I've comitted the work. This combined with the commit Bruce just made to the userret()/ast() code removes all memory/cache stalls from the syscall critical path. two-process getuid() tests, SMP build: per-process getuid()/sec ++cnt.v_syscall 853000 PCPU_LAZY_INC(cnt.v_syscall) 1000000 +17.2% PCPU + Bruce's userret() code 1238216 +23.8% Total boost: +45%. This is a significant improvement, folks! In anycase, please feel free to convert other vmeter counters from atomic_add_int() to PCPU_LAZY_INC(). Remember, not all counters can be converted... things like cnt.v_free_min, for example, cannot be converted because the VM system needs to get at the value quickly. Check before you change. We should probably split out the statistics that cannot be made per-cpu. -Matt Matthew Dillon <dillon@backplane.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message