David Barrera
                                                                                                                                       
                      Andrew Morton                                                                                                    
                      <akpm@zip.com.au>        To:       Andrea Arcangeli <andrea@suse.de>                                             
                      Sent by:                 cc:       David F Barrera/Austin/IBM@IBMUS, linux-kernel@vger.kernel.org                
                      akpm@e3.ny.us.ibm        Subject:  Re: kernel BUG at page_alloc.c:92! & page allocation failure. order:0,        
                      .com                      mode:0x0                                                                               
                                                                                                                                       
                                                                                                                                       
                      07/24/2002 03:11                                                                                                 
                      PM                                                                                                               
                                                                                                                                       
                                                                                                                                       
Andrea Arcangeli wrote:
>
> On Wed, Jul 24, 2002 at 12:35:54PM -0700, Andrew Morton wrote:
> > And please drop the ptrace.c change and use
> > http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.27/lru-removal.patch
> > instead.
>
> page_cache_release() can return a #define to __free_page().
>
Man, it can do a ton more than that.  This patch is just a stopgap
to prevent the oops.
page_cache_release() goes out onto the bus for the PageReserved()
test and then immediately goes out onto the bus again to perform the
atomic_dec_and_test().  Plus it tends to do all this inside
a global lock.  That PageReserved thing needs to go away.
Seriously, this stuff needs a truck driven through it.  See
http://mail.nl.linux.org/linux-mm/2002-07/msg00009.html and things
like pagevec_release().  It still needs quite some work, but the
optimisations which are available here are considerable.
-
-
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/