lkml.org 
[lkml]   [2015]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 0/3] introduce new evdev interface type
    From
    Date
    Hi, Arnd

    > 在 2015年11月28日,00:58,Arnd Bergmann <arnd@arndb.de> 写道:
    >
    > On Friday 27 November 2015 18:00:29 WEN Pingbo wrote:
    >> To solve the y2038 problem in input_event, I had some attempts before [1],
    >> and this is the second one.
    >>
    >> We can force userspace to use monotonic time in event timestamp, so the
    >> 'struct timeval' is enough to keep y2038-safe, as Arnd suggested. But we
    >> can not find a way to make kernel compatible with old binaries, which use
    >> realtime, and there are still some devices, which depend on realtime.
    >>
    >> So I get a idea to add a new evdev interface, which is y2038 safe. And
    >> userspace can switch between the old and new interface via ioctl.
    >>
    >> The patch series add three evdev interface type:
    >>
    >> - EV_IF_LEGACY
    >> send event by input_event. This is the default option, keep kernel
    >> backward compatible.
    >
    > The problem I see with this approach is that it still breaks any
    > legacy source code that is compiled with a new libc that uses 64-bit
    > time_t. If we are requiring source code changes for building users
    > of input devices with a new libc, we can easily get them to handle
    > the overflow (they normally only care about the microsecond portion
    > anyway, so it doesn't matter in most cases), or to use monotonic time.

    I don’t think so.

    Actually, from the view of userspace, EV_IF_LEGACY interface is work
    exactly the same as old evdev. We didn’t change anything in input_event
    and input_event_compat. And the problem you said will still be there,
    even without those patches.

    Pingbo

    \
     
     \ /
      Last update: 2015-11-29 10:41    [W:5.999 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site