I am running a 64-bit host and was running a 32-bit XP guest which was crawling no matter what I was doing with it,in fact it frequently used 100% CPU power while having no real work load. I experienced with this other guests and wondered why KVM was slow compared to say Xen or Virtualbox.
This is because you need to use the "-cpu" flag.
For a full list of options run:
/usr/libexec/qemu-kvm -cpu \?
The option you need to pass is either "-cpu qemu64" or "-cpu qemu32". Obviously qemu64 is for 64bit guests and qemu32 is for 32bit guests.
Make sure you specify this or your guest will be extremely slow since it will be emulating the architecture and won't give you native performance if you choose the wrong architecture.
Also note that if you don't specify the -cpu flag it defaults to your host's architecture (eg. 64bit Centos or 32bit Centos).
So again, the solution is to use the -cpu flag and make sure you specify the correct architecture for the guest.