lkml.org 
[lkml]   [2005]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] poll(2) timeout values
    Willy Tarreau wrote:

    >On Thu, Nov 10, 2005 at 05:15:56PM +0000, Alan Cox wrote:
    >
    >
    >>On Iau, 2005-11-10 at 11:31 -0500, Peter Staubach wrote:
    >>
    >>
    >>>Clearly, the timeout calculations problem can be fixed without changing
    >>>the arguments to the sys_poll() routine. However, it is cleaner to fix
    >>>it this way by ensuring the sizes and types of arguments match.
    >>>
    >>>
    >>There really is no need for the kernel API to match the userspace one,
    >>many of our others differ between the syscall interface which is most
    >>definitely 'exported' in one sense and the POSIX interface which is
    >>defined by libc, posix and the LSB etc
    >>
    >>No argument about the timeout fix.
    >>
    >>
    >
    >I posted a different fix here about a month ago (but I sent it 3 times,
    >as it was twice wrong). Andrew was about to merge it in his tree but I
    >have not checked yet. It was different in the sense that it used
    >msecs_to_jiffies() to do the arithmetic in the best possible way depending
    >on the HZ value and the ints size. Most of the time (when 1000 % HZ == 0),
    >it will simplify the operations to a single divide by a constant and
    >correctly check for integer overflows. Eg, with HZ=250, a simple 2 bits
    >right shift will replace a multiply followed by an divide.
    >
    >I'll check whether 2.6.14-mm1 has it, otherwise I can repost it.
    >

    Yes, I remember the conversation. I hadn't seen the final patch included
    anywhere, so I posted this one.

    That said, I think that msecs_to_jiffies() can still suffer from overflows
    if (HZ % MSECS_PER_SEC) != 0 && (MSECS_PER_SEC % HZ) != 0. I'd like to
    see the rest of your patch to see how this was worked around.

    The patch that I posted does not suffer from overflow issues.

    Thanx...

    ps
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-11-11 21:22    [W:0.040 / U:32.424 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site