lkml.org 
[lkml]   [2005]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[patch] time_after_eq fix
    Hello,

    The two macros time_after and time_after_eq were added to do wrapping
    correctly, but only time_after does it the right way, time_after_eq has
    been wrong since the very beginning(v2.1.127, 07-Nov-1998). Now this
    patch fixes it.

    And I don't agree with the the original code comment. I don't think this
    is gcc's fault. If it is "a good compiler" or "a really good compiler",
    trying to be smarter than human, it wouldn't still be a C compiler.
    So I'd like it be removed.

    Signed-off-by: Coywolf Qi Hunt <coywolf@lovecn.org>
    ---

    jiffies.h | 6 ++----
    1 files changed, 2 insertions(+), 4 deletions(-)

    diff -pruN 2.6.12-rc4-mm2/include/linux/jiffies.h 2.6.12-rc4-mm2-cy/include/linux/jiffies.h
    --- 2.6.12-rc4-mm2/include/linux/jiffies.h 2005-03-03 17:12:13.000000000 +0800
    +++ 2.6.12-rc4-mm2-cy/include/linux/jiffies.h 2005-05-19 05:32:52.000000000 +0800
    @@ -102,9 +102,7 @@ static inline u64 get_jiffies_64(void)
    *
    * time_after(a,b) returns true if the time a is after time b.
    *
    - * Do this with "<0" and ">=0" to only test the sign of the result. A
    - * good compiler would generate better code (and a really good compiler
    - * wouldn't care). Gcc is currently neither.
    + * Do this with "<0" and "<=0" to only test the sign of the result.
    */
    #define time_after(a,b) \
    (typecheck(unsigned long, a) && \
    @@ -115,7 +113,7 @@ static inline u64 get_jiffies_64(void)
    #define time_after_eq(a,b) \
    (typecheck(unsigned long, a) && \
    typecheck(unsigned long, b) && \
    - ((long)(a) - (long)(b) >= 0))
    + ((long)(b) - (long)(a) <= 0))
    #define time_before_eq(a,b) time_after_eq(b,a)

    /*
    -
    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-05-19 00:52    [W:0.044 / U:152.132 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site