From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Cc: linux-input <linux-input@vger.kernel.org>,
Peter Hutterer <peter.hutterer@redhat.com>,
Anshul Garg <anshul.g@samsung.com>
Subject: Re: Regression in dtor/input.git/next - flush pending events on clock type change
Date: Thu, 5 Feb 2015 17:53:26 -0800 [thread overview]
Message-ID: <20150206015326.GC21288@dtor-ws> (raw)
In-Reply-To: <CAN+gG=HG+f66TosBowTWKnh-sMqVobEx18DK0AoPX_7OCfBDsg@mail.gmail.com>
On Thu, Feb 05, 2015 at 08:28:28PM -0500, Benjamin Tissoires wrote:
> On Feb 5, 2015 7:04 PM, "Dmitry Torokhov" <dmitry.torokhov@gmail.com> wrote:
> >
> > Hi Benjamin,
> >
> > On Thu, Feb 05, 2015 at 06:06:29PM -0500, Benjamin Tissoires wrote:
> > > Hi Anshul,
> > >
> > > The commit 0c3e99437a66e4c869c60c2398449e6d98f3a988 in
> dtor/input.git/next
> > > tree introduce an interesting regression in libinput. The tests fail :)
> > >
> > > Actually, evemu-record and libinput switch the clock to monotonic when
> > > opening an input node, and the first thing that gets queued is a
> > > SYN_DROPPED event.
> > >
> > > However, in the libinput test suite, events are the bare minimum, and
> > > most of the tests contain only one event set (one EV_SYN).
> > > When seeing the SYN_DROPPED, the clients are supposed to drain the
> events
> > > until the next EV_SYN, and so they are losing the events that came long
> > > after the ioctl call.
> > > And in the end, the test suite does not receive any events.
> > >
> > > Removing the evdev_queue_syn_dropped() call in the ioctl handling fixes
> > > the test suite, and Peter suggested that maybe we should queue a
> > > SYN_DROPPED event iff there are events in the queue.
> >
> > Does the following patch fixe it? But I would like to see libinput
> > tests more robust.
>
> It does. Thanks for the quick fix.
>
> Regarding libinput tests, I am not sure we could make them more robust in
> this situation. The tests rely on uinput to create predetermined kernel
> devices, with a known set of events. Usually, we test one feature/previous
> bug we already seen in the past per device per test. The mentioned commit
> changed the kernel behavior and I think there is no automatic way to detect
> that the problem lies in the kernel rather than in the libinput event
> processing.
>
> For example, the simplest test creates one mouse, waits for libinput to
> open it, sends REL_X, EV_SYN, and ensures that libinput gets the REL_X
> event. Without this fix, the event is not seen, so the test fails. Which is
> right, because that means that any libinput client will see the first
> events dropped. This is not something we want for our users, especially for
> keyboards, when the first thing you do is typing your password for example.
OK, fair enough. I'll queue the patch with your tested-by then.
Thanks.
--
Dmitry
next prev parent reply other threads:[~2015-02-06 1:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-05 23:06 Regression in dtor/input.git/next - flush pending events on clock type change Benjamin Tissoires
2015-02-05 23:58 ` Dmitry Torokhov
[not found] ` <CAN+gG=HG+f66TosBowTWKnh-sMqVobEx18DK0AoPX_7OCfBDsg@mail.gmail.com>
2015-02-06 1:53 ` Dmitry Torokhov [this message]
2015-02-06 2:14 ` Benjamin Tissoires
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150206015326.GC21288@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=anshul.g@samsung.com \
--cc=benjamin.tissoires@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=peter.hutterer@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.