[lkml]   [2007]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
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

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

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2007-02-01 01:47    [W:0.074 / U:13.584 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site