permissions: 0.813 risc-v: 0.813 operating system: 0.806 kernel: 0.791 architecture: 0.788 hypervisor: 0.768 device: 0.764 ppc: 0.760 arm: 0.758 register: 0.751 peripherals: 0.729 graphic: 0.723 user-level: 0.713 semantic: 0.669 files: 0.666 debug: 0.659 vnc: 0.656 socket: 0.652 mistranslation: 0.652 boot: 0.637 PID: 0.636 VMM: 0.633 performance: 0.628 assembly: 0.623 alpha: 0.618 network: 0.606 KVM: 0.601 TCG: 0.571 virtual: 0.560 i386: 0.546 x86: 0.510 [Qemu-devel] Can I have someone's feedback on [bug 1809075] Concurrency bug on keyboard events: capslock LED messing up keycode streams causes character misses at guest kernel Hi everyone. Can I please have someone's feedback on this bug? https://bugs.launchpad.net/qemu/+bug/1809075 Briefly, guest OS loses characters sent to it via vnc. And I spot the bug in relation to ps2 driver. I'm thinking of possible fixes and I might want to use a memory barrier. But I would really like to have some suggestion from a qemu developer first. For example, can we brutally drop capslock LED key events in ps2 queue? It is actually relevant to openQA, an automated QA tool for openSUSE. And this bug blocks a few test cases for us. Thank you in advance! Kind regards, Gao Zhiyuan Cc'ing Marc-André & Gerd. On 12/19/18 10:31 AM, Gao Zhiyuan wrote: > Hi everyone. > > Can I please have someone's feedback on this bug? > https://bugs.launchpad.net/qemu/+bug/1809075 > Briefly, guest OS loses characters sent to it via vnc. And I spot the > bug in relation to ps2 driver. > > I'm thinking of possible fixes and I might want to use a memory barrier. > But I would really like to have some suggestion from a qemu developer > first. For example, can we brutally drop capslock LED key events in ps2 > queue? > > It is actually relevant to openQA, an automated QA tool for openSUSE. > And this bug blocks a few test cases for us. > > Thank you in advance! > > Kind regards, > Gao Zhiyuan > On Thu, Jan 03, 2019 at 12:05:54PM +0100, Philippe Mathieu-Daudé wrote: > Cc'ing Marc-André & Gerd. > > On 12/19/18 10:31 AM, Gao Zhiyuan wrote: > > Hi everyone. > > > > Can I please have someone's feedback on this bug? > > https://bugs.launchpad.net/qemu/+bug/1809075 > > Briefly, guest OS loses characters sent to it via vnc. And I spot the > > bug in relation to ps2 driver. > > > > I'm thinking of possible fixes and I might want to use a memory barrier. > > But I would really like to have some suggestion from a qemu developer > > first. For example, can we brutally drop capslock LED key events in ps2 > > queue? There is no "capslock LED key event". 0xfa is KBD_REPLY_ACK, and the device queues it in response to guest port writes. Yes, the ack can race with actual key events. But IMO that isn't a bug in qemu. Probably the linux kernel just throws away everything until it got the ack for the port write, and that way the key event gets lost. On physical hardware you will not notice because it is next to impossible to type fast enough to hit the race window. So, go fix the kernel. Alternatively fix vncdotool to send uppercase letters properly with shift key pressed. Then qemu wouldn't generate capslock key events (that happens because qemu thinks guest and host capslock state is out of sync) and the guests's capslock led update request wouldn't get into the way. cheers, Gerd