Re: [ANNOUNCE] System Inactivity Monitor v1.0

From: Pavel Machek
Date: Mon Jan 29 2007 - 19:04:13 EST


Hi!
> > The /proc/bus/input/devices has an extensible structure. You can just
> > add an "A:" line (for Activity) instead of adding a new proc file.
> >
> > I know, but IMO there is too much stuff to parse in there. Activity counters
> > are frequently accessed by daemons, and four or five concurrent daemons are the
> > norm in a typical X11 linux box...
>
> Syscalls are fast enough, and the file is _very_ easy (=> fast) to parse.
>
> > Also, the activity counters should IMO coincide with the event times
> > passed through /dev/input/event, and should not be jiffies based.
> > Ideally, both should be based on clock_gettime(CLOCK_MONOTONIC).
> >
> > In evdev.c do_gettimeofday() is used. Anyway I just need of a monotonic
> > counter, so get_jiffies_64() wouldn't be better? It isn't affected by wrapping
> > issues and it is probably faster than do_gtod().
>
> Just use same time source rest of inputs already do...
>
> OK, but what about the time-warp problem?. To fix it I need to know when the
> system goes to sleep/resumes. In SIN I've solved via the platform driver,
> introducing suspend() resume() callbacks...

input drivers will already have suspend() resume() callbacks... could
you reuse those?

...hmm, I see no easy place where to hook these. You could reuse your
platform device trick, I guess... but maybe there's a better way?

Vojtech, do we have some "global" hooks for input suspend/resume? This
code is global to all the devices, but still needs to know about
suspend/resume...

Or we could create notifier list, where interested parties would be
informed of suspend/resume...
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/