* classzone-31
@ 2000-06-03 23:45 Andrea Arcangeli
2000-06-04 0:17 ` classzone-31 Rik van Riel
0 siblings, 1 reply; 3+ messages in thread
From: Andrea Arcangeli @ 2000-06-03 23:45 UTC (permalink / raw)
To: linux-kernel, linux-mm
classzone-31 against 2.4.0-test1-ac7 is here:
ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.0-test1-ac7/classzone-31
Andrea
--
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.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: classzone-31
2000-06-03 23:45 classzone-31 Andrea Arcangeli
@ 2000-06-04 0:17 ` Rik van Riel
2000-06-04 1:29 ` classzone-31 Andrea Arcangeli
0 siblings, 1 reply; 3+ messages in thread
From: Rik van Riel @ 2000-06-04 0:17 UTC (permalink / raw)
To: Andrea Arcangeli; +Cc: linux-kernel, linux-mm
On Sat, 3 Jun 2000, Andrea Arcangeli wrote:
> classzone-31 against 2.4.0-test1-ac7 is here:
In the process of writing the new VM code I've been looking
through your patch for some ideas and I have some questions.
1) could you explain your shrink_mmap changes?
why do they work?
2) why are you backing out bugfixes made by Linus and
other people? what does your patch gain by that?
(eg the do_try_to_free_pages stuff)
regards,
Rik
--
The Internet is not a network of computers. It is a network
of people. That is its real strength.
Wanna talk about the kernel? irc.openprojects.net / #kernelnewbies
http://www.conectiva.com/ http://www.surriel.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.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: classzone-31
2000-06-04 0:17 ` classzone-31 Rik van Riel
@ 2000-06-04 1:29 ` Andrea Arcangeli
0 siblings, 0 replies; 3+ messages in thread
From: Andrea Arcangeli @ 2000-06-04 1:29 UTC (permalink / raw)
To: Rik van Riel; +Cc: linux-kernel, linux-mm
On Sat, 3 Jun 2000, Rik van Riel wrote:
>1) could you explain your shrink_mmap changes?
> why do they work?
I made shrink_mmap to only browse the unmapped pages. Actually you know
this shrink_mmap design changes have nothing to do with the classzone part
of the patch but it happened that I developed it in parallel while working
on the classzone stuff and I didn't had the time to split the orthogonal
parts of the classzone patch in separate patches yet...
Due this first design change I can now avoid to waste time on the mapped
pages, so I as well splitted the lru in two parts, one for unmapped swap
cache and one for page cache. The first lru (swap cache one) is always
shrunk first. Only this further design change allows the system to keep to
run smooth under heavy swap. There's a kind of autobalance. As first the
swap cache is a lower priority cache because the swap cache were not
recently touched in first place (during swapout I see the swap cache more
a locking entity than a real cache). As second the swap-cache-lru acts as
a protection to the filesystem cache: the more I/O is going on the more we
walk pagetables without eating the useful cache.
Another change I did is to not mark the cache as referenced when I
allocate it. I just described the goodness of this change in l-k recently.
We can't do that in 2.2.x because we don't have an LRU, but now we can
instead allow also the first pass of shrink_mmap to be useful and more
important we can provide better aging to the working set.
With swap_out we still can't avoid to waste the first pass due the round
robin algorithm.
>2) why are you backing out bugfixes made by Linus and
> other people? what does your patch gain by that?
> (eg the do_try_to_free_pages stuff)
I backed out everything that looked not correct (even if only in a corner
case and not in the common case) or that looked not worty enough.
About the do_try_to_free_pages changes I did, they're necessary to pass to
shrink_mmap and friends the classzone from which we must generate free
pages. If you don't pass to them the classzone (as it happens in clean
2.4.0-test1-ac7) you'll have to use suboptimal algorithm (as
2.4.0-test1-ac7 does) that will simply end to free more memory than
necessary and also wasting CPU and hurting the LRU behaviour of
shrink_mmap. I don't consider as bugfixes the recent changes that happened
in do_try_to_free_pages during 2.3.99-pre.
Andrea
--
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.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2000-06-04 1:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-03 23:45 classzone-31 Andrea Arcangeli
2000-06-04 0:17 ` classzone-31 Rik van Riel
2000-06-04 1:29 ` classzone-31 Andrea Arcangeli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox