linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH *] rmap VM, version 12
@ 2002-01-23 17:14 Rik van Riel
  2002-01-23 18:44 ` David S. Miller
  0 siblings, 1 reply; 17+ messages in thread
From: Rik van Riel @ 2002-01-23 17:14 UTC (permalink / raw)
  To: linux-mm; +Cc: linux-kernel

The first release of the 12th version of the reverse
mapping based VM is now available.
This is an attempt at making a more robust and flexible VM
subsystem, while cleaning up a lot of code at the same time.
The patch is available from:

           http://surriel.com/patches/2.4/2.4.17-rmap-12
and        http://linuxvm.bkbits.net/

My big TODO items for a next release are:
  - RSS ulimit enforcement
  - auto-tuning readahead, readahead per VMA

rmap 12:
  - keep some extra free memory on large machines         (Arjan van de Ven, me)
  - higher-order allocation bugfix                        (Adrian Drzewiecki)
  - nr_free_buffer_pages() returns inactive + free mem    (me)
  - pages from unused objects directly to inactive_clean  (me)
  - use fast pte quicklists on non-pae machines           (Andrea Arcangeli)
  - remove sleep_on from wakeup_kswapd                    (Arjan van de Ven)
  - page waitqueue cleanup                                (Christoph Hellwig)
rmap 11c:
  - oom_kill race locking fix                             (Andres Salomon)
  - elevator improvement                                  (Andrew Morton)
  - dirty buffer writeout speedup (hopefully ;))          (me)
  - small documentation updates                           (me)
  - page_launder() never does synchronous IO, kswapd
    and the processes calling it sleep on higher level    (me)
  - deadlock fix in touch_page()                          (me)
rmap 11b:
  - added low latency reschedule points in vmscan.c       (me)
  - make i810_dma.c include mm_inline.h too               (William Lee Irwin)
  - wake up kswapd sleeper tasks on OOM kill so the
    killed task can continue on its way out               (me)
  - tune page allocation sleep point a little             (me)
rmap 11a:
  - don't let refill_inactive() progress count for OOM    (me)
  - after an OOM kill, wait 5 seconds for the next kill   (me)
  - agpgart_be fix for hashed waitqueues                  (William Lee Irwin)
rmap 11:
  - fix stupid logic inversion bug in wakeup_kswapd()     (Andrew Morton)
  - fix it again in the morning                           (me)
  - add #ifdef BROKEN_PPC_PTE_ALLOC_ONE to rmap.h, it
    seems PPC calls pte_alloc() before mem_map[] init     (me)
  - disable the debugging code in rmap.c ... the code
    is working and people are running benchmarks          (me)
  - let the slab cache shrink functions return a value
    to help prevent early OOM killing                     (Ed Tomlinson)
  - also, don't call the OOM code if we have enough
    free pages                                            (me)
  - move the call to lru_cache_del into __free_pages_ok   (Ben LaHaise)
  - replace the per-page waitqueue with a hashed
    waitqueue, reduces size of struct page from 64
    bytes to 52 bytes (48 bytes on non-highmem machines)  (William Lee Irwin)
rmap 10:
  - fix the livelock for real (yeah right), turned out
    to be a stupid bug in page_launder_zone()             (me)
  - to make sure the VM subsystem doesn't monopolise
    the CPU, let kswapd and some apps sleep a bit under
    heavy stress situations                               (me)
  - let __GFP_HIGH allocations dig a little bit deeper
    into the free page pool, the SCSI layer seems fragile (me)
rmap 9:
  - improve comments all over the place                   (Michael Cohen)
  - don't panic if page_remove_rmap() cannot find the
    rmap in question, it's possible that the memory was
    PG_reserved and belonging to a driver, but the driver
    exited and cleared the PG_reserved bit                (me)
  - fix the VM livelock by replacing > by >= in a few
    critical places in the pageout code                   (me)
  - treat the reclaiming of an inactive_clean page like
    allocating a new page, calling try_to_free_pages()
    and/or fixup_freespace() if required                  (me)
  - when low on memory, don't make things worse by
    doing swapin_readahead                                (me)
rmap 8:
  - add ANY_ZONE to the balancing functions to improve
    kswapd's balancing a bit                              (me)
  - regularize some of the maximum loop bounds in
    vmscan.c for cosmetic purposes                        (William Lee Irwin)
  - move page_address() to architecture-independent
    code, now the removal of page->virtual is portable    (William Lee Irwin)
  - speed up free_area_init_core() by doing a single
    pass over the pages and not using atomic ops          (William Lee Irwin)
  - documented the buddy allocator in page_alloc.c        (William Lee Irwin)
rmap 7:
  - clean up and document vmscan.c                        (me)
  - reduce size of page struct, part one                  (William Lee Irwin)
  - add rmap.h for other archs (untested, not for ARM)    (me)
rmap 6:
  - make the active and inactive_dirty list per zone,
    this is finally possible because we can free pages
    based on their physical address                       (William Lee Irwin)
  - cleaned up William's code a bit                       (me)
  - turn some defines into inlines and move those to
    mm_inline.h (the includes are a mess ...)             (me)
  - improve the VM balancing a bit                        (me)
  - add back inactive_target to /proc/meminfo             (me)
rmap 5:
  - fixed recursive buglet, introduced by directly
    editing the patch for making rmap 4 ;)))              (me)
rmap 4:
  - look at the referenced bits in page tables            (me)
rmap 3:
  - forgot one FASTCALL definition                        (me)
rmap 2:
  - teach try_to_unmap_one() about mremap()               (me)
  - don't assign swap space to pages with buffers         (me)
  - make the rmap.c functions FASTCALL / inline           (me)
rmap 1:
  - fix the swap leak in rmap 0                           (Dave McCracken)
rmap 0:
  - port of reverse mapping VM to 2.4.16                  (me)

Rik
-- 
"Linux holds advantages over the single-vendor commercial OS"
    -- Microsoft's "Competing with Linux" document

http://www.surriel.com/		http://distro.conectiva.com/

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 17+ messages in thread
* Re: [PATCH *] rmap VM, version 12
@ 2002-01-23 19:02 Badari Pulavarty
  2002-01-23 19:05 ` Rik van Riel
  0 siblings, 1 reply; 17+ messages in thread
From: Badari Pulavarty @ 2002-01-23 19:02 UTC (permalink / raw)
  To: riel; +Cc: linux-kernel, linux-mm

Does this explain why my SMP box does not boot with rmap12 ? It works fine
with rmap11c.

Machine: 4x  500MHz Pentium Pro with 3GB RAM

When I tried to boot 2.4.17+rmap12, last message I see is

uncompressing linux ...
booting ..


Thanks,
Badari



                                                                                                         
                    "David S.                                                                            
                    Miller"              To:     riel@conectiva.com.br                                   
                    <davem@redhat.       cc:     linux-mm@kvack.org, linux-kernel@vger.kernel.org        
                    com>                 Subject:     Re: [PATCH *] rmap VM, version 12                  
                    Sent by:                                                                             
                    owner-linux-mm                                                                       
                    @kvack.org                                                                           
                                                                                                         
                                                                                                         
                    01/23/02 10:44                                                                       
                    AM                                                                                   
                                                                                                         
                                                                                                         



     - use fast pte quicklists on non-pae machines           (Andrea
Arcangeli)

Does this work on SMP?  I remember they were turned off because
they were simply broken on SMP.

The problem is that when vmalloc() or whatever kernel mappings change
you have to update all the quicklist page tables to match.

Andrea probably fixed this, I haven't looked at the patch.
If so, ignoreme.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 17+ messages in thread
* Re: [PATCH *] rmap VM, version 12
@ 2002-01-23 19:11 Badari Pulavarty
  2002-01-23 19:20 ` Rik van Riel
  0 siblings, 1 reply; 17+ messages in thread
From: Badari Pulavarty @ 2002-01-23 19:11 UTC (permalink / raw)
  To: Rik van Riel; +Cc: linux-kernel, linux-mm, owner-linux-mm

Rik,

I just tried to boot 2.4.17+rmap12 turning off HIGHMEM and it booted just
fine.
So it has to do with some HIGHMEM change happend between  rmap11c and
rmap12.

Does this help ?

Thanks,
Badari



                                                                                                         
                    Rik van Riel                                                                         
                    <riel@conectiv       To:     Badari Pulavarty/Beaverton/IBM@IBMUS                    
                    a.com.br>            cc:     <linux-kernel@vger.kernel.org>, <linux-mm@kvack.org>    
                    Sent by:             Subject:     Re: [PATCH *] rmap VM, version 12                  
                    owner-linux-mm                                                                       
                    @kvack.org                                                                           
                                                                                                         
                                                                                                         
                    01/23/02 11:05                                                                       
                    AM                                                                                   
                                                                                                         
                                                                                                         



On Wed, 23 Jan 2002, Badari Pulavarty wrote:

> Does this explain why my SMP box does not boot with rmap12 ? It works
fine
> with rmap11c.
>
> Machine: 4x  500MHz Pentium Pro with 3GB RAM
>
> When I tried to boot 2.4.17+rmap12, last message I see is
>
> uncompressing linux ...
> booting ..

At this point we're not even near using pagetables yet,
so I guess this is something else ...

(I'm not 100% sure, though)

kind regards,

Rik
--
"Linux holds advantages over the single-vendor commercial OS"
    -- Microsoft's "Competing with Linux" document

http://www.surriel.com/                   http://distro.conectiva.com/

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2002-01-24  3:50 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-23 17:14 [PATCH *] rmap VM, version 12 Rik van Riel
2002-01-23 18:44 ` David S. Miller
2002-01-23 18:57   ` Rik van Riel
2002-01-23 19:06     ` David S. Miller
2002-01-23 19:22       ` Rik van Riel
2002-01-23 19:28         ` David S. Miller
2002-01-23 19:36           ` Rik van Riel
2002-01-23 20:18             ` David S. Miller
2002-01-23 22:12               ` Rik van Riel
2002-01-24  3:50               ` Andrea Arcangeli
2002-01-24  3:46       ` Andrea Arcangeli
2002-01-23 19:15     ` Robert Love
2002-01-23 19:02 Badari Pulavarty
2002-01-23 19:05 ` Rik van Riel
2002-01-23 19:12   ` Andi Kleen
2002-01-23 19:11 Badari Pulavarty
2002-01-23 19:20 ` Rik van Riel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox