From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: serial problems cont.. Date: Mon, 01 Sep 2008 12:26:48 +0300 Message-ID: <48BBB558.6060909@qumranet.com> References: <48BB059E.1050600@tait.co.nz> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm mailing list To: Michael Malone Return-path: Received: from il.qumranet.com ([212.179.150.194]:59013 "EHLO il.qumranet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752462AbYIAJ0t (ORCPT ); Mon, 1 Sep 2008 05:26:49 -0400 In-Reply-To: <48BB059E.1050600@tait.co.nz> Sender: kvm-owner@vger.kernel.org List-ID: Michael Malone wrote: > Hi everyone, > > I've written a couple of questions regarding the serial device in > KVM. After slightly more investigation I think I have found what's > going awry. Correct me if I'm wrong, but I believe that KVM generates > an interrupt for every single character it sends through the serial > port. This throws CPU usage through the roof and I suspect this means > that the timers aren't being handled correctly and it failed on a > string of 0's for me due to the timing slips. GNU/Linux and Windows > don't have anywhere near the processor usage for their serial ports. > Now, I know nothing of serial programming and don't have any time to > investigate it too heavily just now, but I have pulled down the source > and had a look through that, but it looks to be doing the right thing > (I suppose?). I was mainly wondering how GNU/Linux and windows > handle serial interrupts or if some of the serial character events > could be buffered, rather than overload the processor? I guess this > is a low priority for you, but any help would be greatly appreciated > (And when I have some more time, I will spend some of it helping to > develop KVM! Quid pro quo, Clarice...) > What version of kvm are you testing? There were some changes to the serial emulation recently. See for example 02f0b4c0cc26f3a2578d515d96781f5a6258888d in kvm-73. -- error compiling committee.c: too many arguments to function