On 11/26/2012 03:13 AM, Petr Koupý wrote: > there seems to be performance issue in i8042 task, probably introduced by > revision 1712. I noticed significantly increased CPU utilization of i8042 > while moving a mouse: > > user kern > rev1710 vbox 32% 42% > rev1710 qemu 12% 9% > > rev1717 vbox 90% 97% > rev1717 qemu 15% 30% > > This makes compositor mouse pointer practically unusable in VirtualBox. I was > able to reproduce the problem on both ia32 and amd64 builds. It can be > reproduced even in EGA build, where there is actually no mouse pointer. If it > is of any significance, I am using VirtualBox 4.2.4 and qemu/non-KVM 0.13.0, > both running in Win7 x64 host. > > Is anybody able to reproduce it, perhaps on different host?
Revision 1712 added PIO tracing, which may be contributing to this. Even if there is no active PIO register probe, each PIO operation will effectively be prolonged by taking the active probe list rwlock, inspecting the active probe list and then releasing the active probe rwlock. If there are multiple interrupt fibrils in progress that do some PIO, it is possible that the fibrils will block on the rwlock. Note that fibril switching on x86 involves going through a syscall, which could be the thing which increases the kernel time. The logging mechanism could be optimized by using an atomic counter and a check which will simply bypass the tracing code if the number of enabled probes is zero. You may also want to try to disable the tracing code completely and see what happens. Btw, the difference between qemu and vbox results looks suspicious and casts some doubt on vbox implementation. Jakub _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
