Hi I'm not sure I'm thinking the right way here, so this could be just nonsense.
Since I started using VMWare (and that was a long time ago) and other virtual machine applications, I've noticed FreeBSD spends a lot of time in system space (i.e. much time is allocated to "sys" in utilities like top and time) during IO intensive operations. At first I thought this is because the emulated IO devices are much slower than real devices, so IO requests take a long time to complete, leading to sys time. It occurred to me that this might be bogus thinking - yes, emulated IO devices take a long time to perform IO but during that time the system doesn't do anything, so that time should be effectively described as idle, waiting for IO completion... or does it? I'm thinking of experiment - removing all spinning from mutex-like code and try running such kernel in a VMWare machine. For start, is there anything else except turning off ADAPTIVE_MUTEXES, ADAPTIVE_GIANT and ADAPTIVE_RWLOCKS I can do via the kernel config file? If someone has more insight to share on this topic, I'm listening :)
signature.asc
Description: OpenPGP digital signature

