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

Reply via email to