From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51651) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLojP-0007XB-Lv for qemu-devel@nongnu.org; Mon, 25 Aug 2014 03:30:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XLojL-0003qG-Iw for qemu-devel@nongnu.org; Mon, 25 Aug 2014 03:30:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59570) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLojL-0003o8-CA for qemu-devel@nongnu.org; Mon, 25 Aug 2014 03:30:19 -0400 From: Markus Armbruster References: <53F85723.607@msgid.tls.msk.ru> Date: Mon, 25 Aug 2014 09:30:00 +0200 In-Reply-To: <53F85723.607@msgid.tls.msk.ru> (Michael Tokarev's message of "Sat, 23 Aug 2014 12:56:03 +0400") Message-ID: <87vbphyqkn.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [bisected] VNC server can't get all sent chars correctly List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Tokarev Cc: 758881@bugs.debian.org, Gonglei , Gabriele Giacone <1o5g4r8o@gmail.com>, qemu-devel , Gerd Hoffmann Michael Tokarev writes: > There's a bug filed against debian qemu package, there: > > http://bugs.debian.org/758881 > > which says about problems sending keypress events over VNC to > a qemu guest, -- some keypresses gets lost, at least. > > The bisection between qemu 2.0 and 2.1 leads to this commit: > > commit 2858ab09e6f708e381fc1a1cc87e747a690c4884 > Author: Gonglei > Date: Thu Apr 24 20:06:19 2014 +0800 > > ps2: set ps/2 output buffer size as the same as kernel > > According to the PS/2 Mouse/Keyboard Protocol, the keyboard outupt buffer size > is 16 bytes. And the PS2_QUEUE_SIZE 256 was introduced in Qemu from the very > beginning. > > When I started a redhat5.6 32bit guest, meanwhile tapped the keyboard as quickly as > possible, the screen would show me "i8042.c: No controller found". As a result, > I couldn't use the keyboard in the VNC client. > > Previous discussion about the issue in maillist: > http://thread.gmane.org/gmane.comp.emulators.qemu/43294/focus=47180 > > This patch has been tested on redhat5.6 32-bit/suse11sp3 64-bit guests. > More easy meathod to reproduce: > 1.boot a guest with libvirt. > 2.connect to VNC client. > 3.as you see the BIOS, bootloader, Linux booting, run the follow simply shell script: > for((i=0;i<10000000;i++)) do virsh send-key redhat5.6 KEY_A; done > > Actual results: > dmesg show "i8042.c: No controller found." And the keyboard is out of work. > > Signed-off-by: Gonglei > Reviewed-by: Juan Quintela > Signed-off-by: Gerd Hoffmann > > > So it looks like something else is not right here. Before this patch, > it wasn't possible to use keyboard with VNC client with redhat 5 guest. > Now, it isn't possible to use keyboard with VNC in another scenario which > worked before (so it is a regression compared with 2.0 version). > > What do we do with this? :) Suggest to add a tracepoint to the place that drops keystrokes due to buffer being full, to verify that's really what happens. Quick glance at the code suggests ps2_queue().