Re: [RFC][PATCH] Input: Use monotonic time for event time stamps.
flat view
From: Wanlong Gao <hidden>
Date: 2011-12-21 01:43:06
On 12/21/2011 09:01 AM, john stultz wrote:
Hi In reviewing the Android patch set, I noticed the following patch from Arve which looks like it resolves a reasonable issue (events using CLOCK_REALTIME timestamps, which can jump forwards or backwards via settimeofday()). I'm not very familiar with the evdev interface, so I'm not sure if changing the timestamps to CLOCK_MONOTONIC could cause an ABI problem with legacy apps. Even so, I wanted to send the patch out for review and consideration as it seems like a reasonable fix. thanks -johnquoted
From 20950b728f120cd808965c1a20b024aa79706d8d Mon Sep 17 00:00:00 2001From: =?UTF-8?q?=3D=3FUTF-8=3Fq=3FArve=3D20Hj=3DC3=3DB8nnev=3DC3=3DA5g=3F=3D?= <arve@android.com> Date: Fri, 2 Dec 2011 13:59:05 +0800 Subject: [PATCH] Input: Use monotonic time for event time stamps. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since wall time can jump backwards, it cannot be used to determine if one event occured before another or for how long a key was pressed.
seems reasonable.
quoted hunk ↗ jump to hunk
CC: Dmitry Torokhov <dmitry.torokhov@gmail.com> CC: linux-input@vger.kernel.org Signed-off-by: Arve Hjønnevåg <arve@android.com> Signed-off-by: John Stultz <redacted> --- drivers/input/evdev.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 4cf2534..ec329b4 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c@@ -94,8 +94,11 @@ static void evdev_event(struct input_handle *handle, struct evdev *evdev = handle->private; struct evdev_client *client; struct input_event event; + struct timespec ts; - do_gettimeofday(&event.time); + ktime_get_ts(&ts); + event.time.tv_sec = ts.tv_sec; + event.time.tv_usec = ts.tv_nsec / NSEC_PER_USEC; event.type = type; event.code = code; event.value = value;
-- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html