This document contains useful notes from user experience.
When selecting hardware check if it really supports virtualization as that is required for KVM to work. Double check corresponding settings in BIOS, if it is enabled, if it still does not work - check whether motherboard BIOS upgrade is available.
list of CPUs supporting virtualization: Wikipedia about virtualization support on x86 CPUs
In short: If buying Intel CPU double-check if you are getting correct model, if AMD, all new CPUs will support virtualization.
KVM guest multi CPU
When using RouterOS os primary OS on the router changing /system hardware settings will change kernel that is loaded at boot time effectively enabling or disabling SMP support in RouterOS. But using this setting in KVM guest does not work as intended, because in KVM guest configuration user can explicitly point what kernel to use, default setting is kernel="/boot/vmlinuz" that loads guest with non-SMP kernel.
Correct setting for multi CPU support is kernel="/boot/vmlinuz-smp"
Migrating from XEN to KVM
When changing to newer RouterOS eventually you will have to migrate from XEN to KVM, to do that you will have to reinstall your RouterOS completely to remove XEN package. Even when you remove XEN package, there are some residual files left that cannot be removed in any other way but through re-installation of host system as these files will prevent KVM to work.
from one RouterOS KVM guest to another packets will always go through RouterOS host system.
When planning using KVM guests, consider that host system will have to handle all the packets that are passing through, so still, host systems packets per second is important.
XEN and KVM on same host
If you have situation that XEN and KVM are both installed in same router only way to correct the problem is reinstall the router without XEN package.