From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brad Campbell Subject: Re: high load with win7 & usb tablet Date: Tue, 14 Sep 2010 16:26:16 +0800 Message-ID: <4C8F31A8.9050007@fnarfbargle.com> References: <4C80E839.50604@msgid.tls.msk.ru> <4C8A2254.7090505@redhat.com> <4C8A282A.5010506@msgid.tls.msk.ru> <4C8A29A6.60108@redhat.com> <4C8A44E6.2060008@msgid.tls.msk.ru> <4C8A4736.8030704@redhat.com> <4C8A48D9.2070404@msgid.tls.msk.ru> <4C8A56B8.4020607@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Michael Tokarev , KVM list To: Avi Kivity Return-path: Received: from fnarfbargle.com ([93.93.128.63]:34333 "EHLO fnarfbargle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752654Ab0INJAG (ORCPT ); Tue, 14 Sep 2010 05:00:06 -0400 In-Reply-To: <4C8A56B8.4020607@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 11/09/10 00:03, Avi Kivity wrote: > On 09/10/2010 06:03 PM, Michael Tokarev wrote: >> >>> Strange. Can you also post a few lines of 'vmstat 1'? >>> >>> Maybe we'll see a lot of context switches in there. >> Not that many. Still running the same w7 guest, still >> ~25..27% CPU usage reported by top for the kvm process, >> here's `vmstat 5' after a while (I tend to use larger >> delay to mitigate large(ish) spikes): >> >> procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- >> r b swpd free buff cache si so bi bo in cs us sy id wa >> 0 0 286764 1262976 20640 1618468 0 0 0 24 6206 4460 7 9 84 0 >> 1 0 286764 1263040 20640 1618436 0 0 0 0 6080 4415 7 9 84 0 >> 1 0 286764 1264380 20648 1618448 0 0 0 5 6332 4576 8 11 81 0 >> 1 0 286760 1264700 20656 1618436 6 0 6 18 6464 4742 7 8 84 1 >> 1 0 286760 1264864 20664 1618472 0 0 0 10 6266 4704 8 8 85 0 >> 0 > > Stumped. > > A shot in the dark: can you try running with vnc instead of sdl (and disconnecting your vnc client > while measuring)? Maybe the guest is doing a lot of vga updates. > Just a data point. An idle XP guest for me without -usb sees the host running at about 8,000 context switches a second. With the guest using -usb -usbdevice tablet, the host runs at between 15,000 - 18,000 context switches a second. The descriptors show the device is requesting a polling frequency of 100Hz (0x0A ms), but don't forget QEMU emulating a controller with a 1000hz microframe rate at worst. There would probably be a lower load if the controller emulated was OHCI rather than UHCI just on a reduction of required work by the Guest. If you were prepared to tolerate a bit less responsiveness, you could always tweak the endpoint descriptor to turn the polling frequency down. 0x0a, /* u8 ep_bInterval; (255ms -- usb 2.0 spec) */ I'm unclear as to where that comment came from. The usb 2.0 spec says a LOW_SPEED device can request between 10->255 ms polling intervals. If the device is reporting as a HIGH_SPEED device, then all bets are off.