All of lore.kernel.org
 help / color / mirror / Atom feed
From: Henrik Rydberg <rydberg@euromail.se>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Rafi Rubin <rafi@seas.upenn.edu>,
	linux-input <linux-input@vger.kernel.org>,
	Jiri Kosina <jkosina@suse.cz>,
	Mika Kuoppala <mika.kuoppala@nokia.com>
Subject: Re: Lost events in older kernels
Date: Sat, 22 May 2010 22:57:42 +0200	[thread overview]
Message-ID: <4BF84546.2050502@euromail.se> (raw)
In-Reply-To: <20100522201256.GB30464@core.coreip.homeip.net>

Dmitry Torokhov wrote:
> On Sat, May 22, 2010 at 12:27:15PM +0200, Henrik Rydberg wrote:
>> Rafi Rubin wrote:
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> On 05/22/10 03:42, Dmitry Torokhov wrote:
>>>> On Sat, May 22, 2010 at 03:06:07AM -0400, Rafi Rubin wrote:
>>>>> I'm playing with a project with a 2.6.29 kernel, and the userspace application
>>>>> seems to miss some events.  Is there a particular fix that improved the handling?
>>>>>
>>>>> Also tried catting the dev to a file while testing, and the dump also is missing
>>>>> some events.
>>>>>
>>>> No "interesting" patches went into evdev for a few release now...
>>>>
>>>> Hm, could it be that event queue is overflowing before userspace gets a
>>>> chance to empty it. What kind of event rate are we talking here?
>>>>
>>> Quite possibly.  It is a multitouch device and we know Henrik's been concerned
>>> with the load for a while.
>>>
>>> So to put some numbers behind his fears:
>>>
>>> 146668 hid events processed
>>> 24952 evdev events captured with a cat
>>> 30 seconds (give or take).

Thanks for these numbers, Rafi.

>>> This is for a mix of different numbers of fingers, but continuous use for those
>>> 30 seconds.  And X was running and reading the dev node too.
>> Others have experienced this too. Mika has a patch for this, increasing the
>> (kernel) evdev buffer quite a bit, from 64 to 256. I believe the reason it is
>> not sent upstream is because it increases the footprint by 3 Kb. Perhaps a
>> dynamic solution could work here.
>>
> 
> Yes, if input devices could hint handlers about their "packet size"
> then evdev could size it's event queue accordingly. I'd say we need to
> keep about 8 packets worth of data (number is pulled right out of my
> behind ;) )...
> 

Yeah. The bcm5974 driver sends 8 events per finger, plus some ST stuff. With
four fingers on the pad, that amounts to roughly 40 events per packet.

146668 / 24952 = 5.9
40 * 8 / 64 = 5.0

Looks reasonable, doesn't it?

Regarding the packet size hinting, the handler already knows which events are
potentially being sent, and could produce a reasonable buffer size from it. In
particular if it knows which events are bypassing filtering. ;-)

Henrik

  reply	other threads:[~2010-05-22 20:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-22  7:06 Lost events in older kernels Rafi Rubin
2010-05-22  7:42 ` Dmitry Torokhov
2010-05-22  9:22   ` Rafi Rubin
2010-05-22 10:27     ` Henrik Rydberg
2010-05-22 20:12       ` Dmitry Torokhov
2010-05-22 20:57         ` Henrik Rydberg [this message]
2010-05-22 21:08           ` Dmitry Torokhov
2010-05-22 21:26             ` Henrik Rydberg
2010-05-23  2:10         ` Rafi Rubin
2010-05-23  2:24           ` Dmitry Torokhov
2010-05-23  8:44           ` Henrik Rydberg
2010-05-24 17:48             ` Dmitry Torokhov

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=4BF84546.2050502@euromail.se \
    --to=rydberg@euromail.se \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=mika.kuoppala@nokia.com \
    --cc=rafi@seas.upenn.edu \
    /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.