Thread (8 messages) 8 messages, 3 authors, 2012-01-06

Re: [RFC][PATCH] Input: Add infrastrucutre for monotonic event time stamps.

From: Chase Douglas <hidden>
Date: 2012-01-06 00:50:44

On 01/05/2012 04:44 PM, Dmitry Torokhov wrote:
On Thu, Jan 05, 2012 at 04:37:00PM -0800, Chase Douglas wrote:
quoted
On 01/05/2012 04:19 PM, John Stultz wrote:
quoted
On Thu, 2012-01-05 at 15:54 -0800, Chase Douglas wrote:
quoted
On 01/05/2012 03:28 PM, Dmitry Torokhov wrote:
quoted
Hi John,

On Thu, Jan 05, 2012 at 03:01:05PM -0800, John Stultz wrote:
quoted
 
+	case EVIOCMONTIME:
+		if (copy_from_user(&i, p, sizeof(unsigned int)))
+			return -EFAULT;
+		client->use_monotonic = i;
+		return 0;
Maybe we should let users pass not boolean but CLOCK_* value (and reject
ones that we do not support) ? This way if someone wants to use some
other clock type in the future we won't need new ioctl.
Could we also find a way to specify device time? Apple's Magic Mouse and
Magic Trackpad spit out events with their own timestamps. Maybe there
would be other devices that would support high accuracy timestamps too?
The dynamic posix clocks stuff already supports this sort of thing for
PTP, but its driver by driver, and its not all that clear that you can
read the device timestamp any old time you want (I suspect they're all
tied to device events). So it won't quite work for a clock_gettime()
style usage.

I don't really know what the best way to do this would be. We could
overload a negative clockid value, since you're not going to be wanting
thread cputime for device timestamps. But that's not super elegant
either.

But just having a specified clock id via the ioctl makes something like
what you're proposing possible.  Just a matter of how to cleanly specify
device timestamps against all the other possible ids.
I guess this is mostly what I'm after right now. I have no plans on
implementing device timestamps, and I don't even really have time to
think about it much right now :). As long as we have a plan for how we
could specify it in the future, if someone wanted to implement it, then
I'm happy.
I'd consider device-generated timestamps be similar to the other
elements of input stream, like coordinates, and therefore transmitted
via their own event type, something like EV_MSC/MSC_TIME.
I know we've talked about it before, and maybe that's the conclusion we
came to. I can't remember at this point.

Until we actually implement a solution, though, we don't really know if
either way would really work. That's why I suggest leaving our options
open by ensuring we have a way to specify device time through this
mechanism if it's reasonable.

-- Chase
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help