[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [bisected] VNC server can't get all sent chars correctl
From: |
Gonglei (Arei) |
Subject: |
Re: [Qemu-devel] [bisected] VNC server can't get all sent chars correctly |
Date: |
Mon, 25 Aug 2014 07:36:24 +0000 |
> From: Markus Armbruster [mailto:address@hidden
> Sent: Monday, August 25, 2014 3:30 PM
> To: Michael Tokarev
> Cc: qemu-devel; Gonglei (Arei); Gabriele Giacone; Gerd Hoffmann;
> address@hidden
> Subject: Re: [Qemu-devel] [bisected] VNC server can't get all sent chars
> correctly
>
> Michael Tokarev <address@hidden> 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 <address@hidden>
> > 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 <address@hidden>
> > Reviewed-by: Juan Quintela <address@hidden>
> > Signed-off-by: Gerd Hoffmann <address@hidden>
> >
> >
> > 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().
+1 :)
Best regards,
-Gonglei