All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "PaweÅ Sikora" <pluto@agmk.net>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"Christoph Hellwig" <hch@lst.de>,
	"Pekka Enberg" <penberg@cs.helsinki.fi>,
	"Siddha, Suresh B" <suresh.b.siddha@intel.com>,
	"Martin Peschke" <mp3@de.ibm.com>,
	"Andrew Morton" <akpm@osdl.org>, "Adrian Bunk" <bunk@stusta.de>
Subject: Re: Linux 2.6.20-rc7
Date: Thu, 01 Feb 2007 11:44:36 +1100	[thread overview]
Message-ID: <45C137F4.90303@yahoo.com.au> (raw)
In-Reply-To: <Pine.LNX.4.64.0701311609210.3632@woody.linux-foundation.org>

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 

  parent reply	other threads:[~2007-02-01  0:44 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-31  4:28 Linux 2.6.20-rc7 Linus Torvalds
     [not found] ` <45C05150.6000802@agmk.net>
2007-01-31 16:04   ` Linus Torvalds
2007-01-31 23:13     ` Andrew Morton
     [not found]     ` <200702010037.48472.pluto@agmk.net>
2007-02-01  0:14       ` Andrew Morton
2007-02-01  0:19       ` Linus Torvalds
2007-02-01  0:26         ` Andrew Morton
2007-02-01  0:39           ` Linus Torvalds
2007-02-01  0:44         ` Nick Piggin [this message]
2007-02-01  0:54           ` Linus Torvalds
2007-02-01  6:48     ` Pekka Enberg
2007-01-31 17:11 ` [PATCH] x86_64: Fix preprocessor condition Josef 'Jeff' Sipek
2007-01-31 17:16   ` Andi Kleen
2007-01-31 17:40     ` Josef Sipek
2007-01-31 18:15 ` Linux 2.6.20-rc7 Sunil Naidu
2007-02-01  2:16 ` S.Çağlar Onur
2007-02-01  2:36   ` Linus Torvalds
2007-02-01  3:01     ` S.Çağlar Onur
2007-02-01  3:31       ` Linus Torvalds
2007-02-01  5:44         ` H. Peter Anvin
2007-02-01  6:00           ` Linus Torvalds
2007-02-01  6:10             ` H. Peter Anvin
2007-02-01  6:38               ` Alexander E. Patrakov
2007-02-01  6:53                 ` H. Peter Anvin
2007-02-02 20:52         ` S.Çağlar Onur
2007-02-01 21:06           ` H. Peter Anvin
2007-02-02  5:49 ` 2.6.20-rc7: known regressions Adrian Bunk
2007-02-02  5:49   ` Adrian Bunk
2007-02-02  5:49   ` Adrian Bunk
2007-02-03  1:55   ` Andrew Morton
2007-02-03  2:03     ` Jeff Garzik
2007-02-03  2:15       ` Andrew Morton
2007-02-03  9:19     ` Frédéric Riss
2007-02-03  9:24       ` Andrew Morton
2007-02-03  9:33         ` Andi Kleen
2007-02-03  9:49           ` Frédéric Riss
2007-02-03  9:58             ` Andi Kleen
2007-02-03 10:47               ` Frédéric Riss
2007-02-03 10:51                 ` Andi Kleen
2007-02-03 10:57                   ` Frédéric Riss
2007-02-03 11:08                     ` Frédéric RISS
2007-02-04 13:13                   ` Frédéric Riss
2007-02-04 14:37                     ` Andi Kleen
2007-02-04 17:34                     ` Linus Torvalds
2007-02-04 18:18                       ` Frédéric Riss
2007-02-04 18:29                         ` Linus Torvalds
2007-02-05  8:26                       ` Andi Kleen
2007-02-05  9:35                         ` Eric W. Biederman
2007-02-03  0:44 ` 2.6.20-rc7: known regressions (v2) (part 1) Adrian Bunk
2007-02-03  0:44   ` Adrian Bunk
2007-02-03  6:06   ` Auke Kok
2007-02-03  7:41     ` Eric W. Biederman
2007-02-03 18:06       ` Adam Kropelin
2007-02-03 20:43         ` Auke Kok
2007-02-03 21:00           ` Adam Kropelin
2007-02-03 21:26             ` Auke Kok
2007-02-03 22:24               ` Eric W. Biederman
2007-02-03 21:12           ` Eric W. Biederman
2007-02-03 23:20             ` Adam Kropelin
2007-02-04  1:14               ` Eric W. Biederman
2007-02-04  4:44                 ` Adam Kropelin
2007-02-04  5:12                   ` Eric W. Biederman
2007-02-03  0:47 ` 2.6.20-rc7: known regressions (v2) (part 2) Adrian Bunk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45C137F4.90303@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@osdl.org \
    --cc=bunk@stusta.de \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mp3@de.ibm.com \
    --cc=penberg@cs.helsinki.fi \
    --cc=pluto@agmk.net \
    --cc=suresh.b.siddha@intel.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.