* [PATCH *] rmap VM 11c
@ 2002-01-17 19:22 Rik van Riel
2002-01-17 23:59 ` Bill Davidsen
2002-01-18 0:33 ` Adam Kropelin
0 siblings, 2 replies; 6+ messages in thread
From: Rik van Riel @ 2002-01-17 19:22 UTC (permalink / raw)
To: linux-mm; +Cc: linux-kernel
For this release, IO tests are very much welcome ...
The third maintenance release of the 11th 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-11c
and http://linuxvm.bkbits.net/
My big TODO items for a next release are:
- fix page_launder() so it doesn't submit the whole
inactive_dirty list for writeout in one go
... no longer needed due to fixed elevator ???
- auto-tuning readahead, readahead per VMA
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] 6+ messages in thread* Re: [PATCH *] rmap VM 11c
2002-01-17 19:22 [PATCH *] rmap VM 11c Rik van Riel
@ 2002-01-17 23:59 ` Bill Davidsen
2002-01-18 0:05 ` Rik van Riel
2002-01-18 0:33 ` Adam Kropelin
1 sibling, 1 reply; 6+ messages in thread
From: Bill Davidsen @ 2002-01-17 23:59 UTC (permalink / raw)
To: Rik van Riel; +Cc: linux-mm, linux-kernel
On Thu, 17 Jan 2002, Rik van Riel wrote:
> For this release, IO tests are very much welcome ...
>
>
> The third maintenance release of the 11th 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-11c
> and http://linuxvm.bkbits.net/
Rik, I tried a simple test, building a kernel in a 128M P-II-400, and when
the load average got up to 50 or so the system became slow;-) On the other
hand it was still usable for most normal things other then incoming mail
which properly blocks at LA>10 or so.
I'll be trying it on a large machine tomorrow, but it at least looks
stable. In real life no sane person would do that, would they? Make with a
nice -10 was essentially invisible.
Maybe tomorrow the lateest -aa kernel on the same machine, with and
without my own personal patch.
--
bill davidsen <davidsen@tmr.com>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.
--
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] 6+ messages in thread
* Re: [PATCH *] rmap VM 11c
2002-01-17 23:59 ` Bill Davidsen
@ 2002-01-18 0:05 ` Rik van Riel
0 siblings, 0 replies; 6+ messages in thread
From: Rik van Riel @ 2002-01-18 0:05 UTC (permalink / raw)
To: Bill Davidsen; +Cc: linux-mm, linux-kernel
On Thu, 17 Jan 2002, Bill Davidsen wrote:
> > http://surriel.com/patches/2.4/2.4.17-rmap-11c
> > and http://linuxvm.bkbits.net/
> Rik, I tried a simple test, building a kernel in a 128M P-II-400, and
> when the load average got up to 50 or so the system became slow;-) On
> the other hand it was still usable for most normal things other then
> incoming mail which properly blocks at LA>10 or so.
Hehehe, when the load average is 50 only 2% of the CPU is available
for you. With that many gccs you're also under a memory squeeze with
128 MB of RAM, so it's no big wonder things got slow. ;)
I'm happy to hear the system was still usable, though.
> I'll be trying it on a large machine tomorrow, but it at least looks
> stable. In real life no sane person would do that, would they? Make
> with a nice -10 was essentially invisible.
Neat ...
> Maybe tomorrow the lateest -aa kernel on the same machine, with and
> without my own personal patch.
Looking forward to the results.
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/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH *] rmap VM 11c
2002-01-17 19:22 [PATCH *] rmap VM 11c Rik van Riel
2002-01-17 23:59 ` Bill Davidsen
@ 2002-01-18 0:33 ` Adam Kropelin
2002-01-18 0:56 ` Rik van Riel
2002-01-18 10:06 ` Roy Sigurd Karlsbakk
1 sibling, 2 replies; 6+ messages in thread
From: Adam Kropelin @ 2002-01-18 0:33 UTC (permalink / raw)
To: Rik van Riel, linux-mm; +Cc: linux-kernel
Rik van Riel <riel@conectiva.com.br>:
> For this release, IO tests are very much welcome ...
Results from a run of my large FTP transfer test on this new release are...
interesting.
Overall time shows an improvement (6:28), though not enough of one to take the
lead over 2.4.13-ac7.
More interesting, perhaps, is the vmstat output, which shows this at first:
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 0 47816 2992 84236 0 0 10 0 4462 174 1 33 66
1 0 0 0 41704 3004 89320 0 0 10 0 4322 167 0 33 67
0 1 0 0 36004 3012 94064 0 0 9 877 4030 163 1 30 69
0 1 1 0 33536 3016 96112 0 0 4 1616 1724 62 0 18 82
0 1 2 0 31068 3020 98160 0 0 4 2048 1729 52 1 15 83
0 1 1 0 28608 3024 100208 0 0 4 2064 1735 56 1 16 82
0 1 1 0 26144 3028 102256 0 0 4 2048 1735 50 0 16 84
0 1 1 0 23684 3032 104304 0 0 5 2048 1713 45 1 15 84
0 1 1 0 21216 3036 106352 0 0 3 2064 1723 52 1 14 85
1 0 2 0 18728 3040 108420 0 0 5 2048 1750 59 0 17 82
0 1 1 0 16292 3044 110448 0 0 3 2064 1722 60 0 15 84
1 0 1 0 13824 3048 112572 0 0 5 2032 1800 61 0 17 83
1 0 1 0 11696 3052 114548 0 0 4 2528 1658 47 0 14 86
1 0 1 0 9232 3056 116596 0 0 4 2048 1735 51 1 13 86
0 1 2 0 6808 3060 118640 0 0 3 1584 1729 84 0 16 84
(i.e., nice steady writeout reminiscent of -ac)
...but after about 20 seconds, behavior degrades again:
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 1 1 0 1500 3124 123268 0 0 0 3788 534 20 0 8 92
0 1 1 0 1500 3124 123268 0 0 0 0 107 12 0 0 100
0 1 1 0 1500 3124 123268 0 0 0 0 123 10 0 0 100
0 1 1 0 1500 3124 123268 0 0 0 3666 123 12 0 2 97
0 1 1 0 1500 3124 123268 0 0 1 259 109 12 0 8 92
1 0 0 0 1404 3124 123360 0 0 2 0 1078 28 0 7 92
1 0 0 0 1404 3136 123444 0 0 11 0 4560 178 0 39 61
1 0 0 0 1404 3148 123448 0 0 10 0 4620 175 1 34 64
0 0 0 0 1312 3156 123568 0 0 11 0 4276 181 0 36 64
0 0 0 0 1404 3168 123492 0 0 10 0 4330 185 1 30 68
0 1 1 0 1404 3172 123488 0 0 4 6864 1742 69 0 17 83
0 1 1 0 1408 3172 123488 0 0 0 0 111 12 0 0 99
0 1 1 0 1408 3172 123488 0 0 0 0 126 8 0 0 100
0 1 1 0 1404 3172 123480 0 0 0 7456 518 18 0 10 90
0 1 1 0 1404 3172 123480 0 0 0 0 112 10 0 0 100
0 1 1 0 1404 3172 123480 0 0 0 0 123 9 0 0 100
0 1 1 0 1404 3172 123476 0 0 1 7222 120 16 0 5 95
0 1 1 0 1404 3172 123476 0 0 0 0 106 8 0 0 100
0 1 1 0 1524 3172 123352 0 0 0 3790 519 18 0 8 92
0 1 1 0 1524 3172 123352 0 0 0 0 113 8 0 0 100
0 1 1 0 1524 3172 123352 0 0 0 0 125 8 0 0 100
Previous tests showed fluctuating bo values from the start; this is the first
time I've seen them steady, so something in the patch definitely is showing
through here.
I've a couple more tests to run, such as combining -rmap11c with cpqarray and
eepro driver updates from -ac. I'll keep you posted.
--Adam
--
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] 6+ messages in thread
* Re: [PATCH *] rmap VM 11c
2002-01-18 0:33 ` Adam Kropelin
@ 2002-01-18 0:56 ` Rik van Riel
2002-01-18 10:06 ` Roy Sigurd Karlsbakk
1 sibling, 0 replies; 6+ messages in thread
From: Rik van Riel @ 2002-01-18 0:56 UTC (permalink / raw)
To: Adam Kropelin; +Cc: linux-mm, linux-kernel
On Thu, 17 Jan 2002, Adam Kropelin wrote:
> Rik van Riel <riel@conectiva.com.br>:
> > For this release, IO tests are very much welcome ...
>
> Results from a run of my large FTP transfer test on this new release
> are... interesting.
>
> Overall time shows an improvement (6:28), though not enough of one to
> take the lead over 2.4.13-ac7.
> (i.e., nice steady writeout reminiscent of -ac)
> ...but after about 20 seconds, behavior degrades again:
>
> Previous tests showed fluctuating bo values from the start; this is the first
> time I've seen them steady, so something in the patch definitely is showing
> through here.
Thank you for running this test. I'll try to debug the situation
and see what's going on ... this definately isn't behaving like
it should.
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/
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH *] rmap VM 11c
2002-01-18 0:33 ` Adam Kropelin
2002-01-18 0:56 ` Rik van Riel
@ 2002-01-18 10:06 ` Roy Sigurd Karlsbakk
1 sibling, 0 replies; 6+ messages in thread
From: Roy Sigurd Karlsbakk @ 2002-01-18 10:06 UTC (permalink / raw)
To: Adam Kropelin; +Cc: Rik van Riel, linux-mm, linux-kernel
This looks a little like my problem...
See http://karlsbakk.net/dev/kernel/vm-fsckup.txt
On Thu, 17 Jan 2002, Adam Kropelin wrote:
> Rik van Riel <riel@conectiva.com.br>:
> > For this release, IO tests are very much welcome ...
>
> Results from a run of my large FTP transfer test on this new release are...
> interesting.
>
> Overall time shows an improvement (6:28), though not enough of one to take the
> lead over 2.4.13-ac7.
>
> More interesting, perhaps, is the vmstat output, which shows this at first:
>
> procs memory swap io system cpu
> r b w swpd free buff cache si so bi bo in cs us sy id
> 0 0 0 0 47816 2992 84236 0 0 10 0 4462 174 1 33 66
> 1 0 0 0 41704 3004 89320 0 0 10 0 4322 167 0 33 67
> 0 1 0 0 36004 3012 94064 0 0 9 877 4030 163 1 30 69
> 0 1 1 0 33536 3016 96112 0 0 4 1616 1724 62 0 18 82
> 0 1 2 0 31068 3020 98160 0 0 4 2048 1729 52 1 15 83
> 0 1 1 0 28608 3024 100208 0 0 4 2064 1735 56 1 16 82
> 0 1 1 0 26144 3028 102256 0 0 4 2048 1735 50 0 16 84
> 0 1 1 0 23684 3032 104304 0 0 5 2048 1713 45 1 15 84
> 0 1 1 0 21216 3036 106352 0 0 3 2064 1723 52 1 14 85
> 1 0 2 0 18728 3040 108420 0 0 5 2048 1750 59 0 17 82
> 0 1 1 0 16292 3044 110448 0 0 3 2064 1722 60 0 15 84
> 1 0 1 0 13824 3048 112572 0 0 5 2032 1800 61 0 17 83
> 1 0 1 0 11696 3052 114548 0 0 4 2528 1658 47 0 14 86
> 1 0 1 0 9232 3056 116596 0 0 4 2048 1735 51 1 13 86
> 0 1 2 0 6808 3060 118640 0 0 3 1584 1729 84 0 16 84
>
> (i.e., nice steady writeout reminiscent of -ac)
>
> ...but after about 20 seconds, behavior degrades again:
>
> procs memory swap io system cpu
> r b w swpd free buff cache si so bi bo in cs us sy id
> 0 1 1 0 1500 3124 123268 0 0 0 3788 534 20 0 8 92
> 0 1 1 0 1500 3124 123268 0 0 0 0 107 12 0 0 100
> 0 1 1 0 1500 3124 123268 0 0 0 0 123 10 0 0 100
> 0 1 1 0 1500 3124 123268 0 0 0 3666 123 12 0 2 97
> 0 1 1 0 1500 3124 123268 0 0 1 259 109 12 0 8 92
> 1 0 0 0 1404 3124 123360 0 0 2 0 1078 28 0 7 92
> 1 0 0 0 1404 3136 123444 0 0 11 0 4560 178 0 39 61
> 1 0 0 0 1404 3148 123448 0 0 10 0 4620 175 1 34 64
> 0 0 0 0 1312 3156 123568 0 0 11 0 4276 181 0 36 64
> 0 0 0 0 1404 3168 123492 0 0 10 0 4330 185 1 30 68
> 0 1 1 0 1404 3172 123488 0 0 4 6864 1742 69 0 17 83
> 0 1 1 0 1408 3172 123488 0 0 0 0 111 12 0 0 99
> 0 1 1 0 1408 3172 123488 0 0 0 0 126 8 0 0 100
> 0 1 1 0 1404 3172 123480 0 0 0 7456 518 18 0 10 90
> 0 1 1 0 1404 3172 123480 0 0 0 0 112 10 0 0 100
> 0 1 1 0 1404 3172 123480 0 0 0 0 123 9 0 0 100
> 0 1 1 0 1404 3172 123476 0 0 1 7222 120 16 0 5 95
> 0 1 1 0 1404 3172 123476 0 0 0 0 106 8 0 0 100
> 0 1 1 0 1524 3172 123352 0 0 0 3790 519 18 0 8 92
> 0 1 1 0 1524 3172 123352 0 0 0 0 113 8 0 0 100
> 0 1 1 0 1524 3172 123352 0 0 0 0 125 8 0 0 100
>
> Previous tests showed fluctuating bo values from the start; this is the first
> time I've seen them steady, so something in the patch definitely is showing
> through here.
>
> I've a couple more tests to run, such as combining -rmap11c with cpqarray and
> eepro driver updates from -ac. I'll keep you posted.
>
> --Adam
>
>
> -
> 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/
>
--
Roy Sigurd Karlsbakk, MCSE, MCNE, CLS, LCA
Computers are like air conditioners.
They stop working when you open Windows.
--
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] 6+ messages in thread
end of thread, other threads:[~2002-01-18 10:06 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-17 19:22 [PATCH *] rmap VM 11c Rik van Riel
2002-01-17 23:59 ` Bill Davidsen
2002-01-18 0:05 ` Rik van Riel
2002-01-18 0:33 ` Adam Kropelin
2002-01-18 0:56 ` Rik van Riel
2002-01-18 10:06 ` Roy Sigurd Karlsbakk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox