lkml.org 
[lkml]   [2007]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Linux 2.6.20-rc7
    Linus Torvalds wrote:

    > if (free_pages <= min + z->lowmem_reserve[classzone_idx])
    > return 0;
    >
    > gets broken, because the negative 'free_pages' will look like a huge
    > unsigned positive number (and we'll make it unsigned becaue 'min' got
    > turned unsigned). There was a reason that thing was signed in the first
    > place, and neither me nor Andrew noticed.
    >
    > Bad Nick. And bad me and Andrew for not noticing.

    Sorry. I think I even wrote that comment at the top of the function.
    And probably the function as well :(

    > I should either revert that commit or just check for "free_pages" being
    > negative. The latter, in many ways, is probably better, because generally
    > we simply should never work with negative numbers in the kernel, so when
    > something potentially goes negative, we're probably just better off always
    > testing it explicitly anyway.
    >
    > Nick, Andrew, any preferences?

    As Andrew says, it would need to be checked each time, because we have
    nothing synchronising against free_pages at the top, or nr_free in the
    loop.

    We could make them both unsigned, and _add_ everything to min rather than
    subtracting from free_pages?

    --
    SUSE Labs, Novell Inc.
    Send instant messages to your online friends http://au.messenger.yahoo.com

    -
    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: 2007-02-01 01:47    [W:2.552 / U:1.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site