From: Roger Luethi <rl@hellgate.ch>
To: Andrew Morton <akpm@osdl.org>
Cc: riel@redhat.com, wli@holomorphy.com, linux-mm@kvack.org
Subject: Re: load control demotion/promotion policy
Date: Tue, 23 Dec 2003 17:14:07 +0100 [thread overview]
Message-ID: <20031223161407.GC6082@k3.hellgate.ch> (raw)
In-Reply-To: <20031221225611.5421b522.akpm@osdl.org>
On Sun, 21 Dec 2003 22:56:11 -0800, Andrew Morton wrote:
> But I have vague memories of being dazed and confused when last you tried
> to describe the causes. I was hoping that things would firm up a bit.
>
> Please, take the time to describe it to us again, exhaustively.
Sorry, I wouldn't do anyone a favor if I added more speculation. I'm
progressing slowly due to other tasks, but the benchmark data is
rather solid and can serve as a map for others to determine the cause
of regressions.
Here's one thing that might be interesting, though:
I explained recently on LKML that the kswap throttling patch of
2.6.0-test3 I reverted makes kswapd do virtually all the paging,
while previous (faster) kernels relied heavily on the path through the
page allocator to free memory. Remember the tiny patch I circulated in
early October, before I started systematically benchmarking the whole
devel series?
It looked like this (against test6):
+++ ./mm/vmscan.c 2003-10-02 23:30:59.423106182 +0200
@@ -1037,7 +1037,7 @@ int kswapd(void *p)
if (current->flags & PF_FREEZE)
refrigerator(PF_IOTHREAD);
prepare_to_wait(&pgdat->kswapd_wait, &wait, TASK_INTERRUPTIBLE);
- schedule();
+ sys_sched_yield();
finish_wait(&pgdat->kswapd_wait, &wait);
get_page_state(&ps);
balance_pgdat(pgdat, 0, &ps);
This patch did pretty well with kbuild, but not with qsbench. Back then
I dropped the patch because of that. In the meantime I realized that
qsbench and the compile benchmarks are separate and rarely agree on
what's good. In fact, usually the best you can get is an improvement
for one type of benchmarks and no regression with the other. Check the
graph I posted, you'll see what I mean.
The kswapd/priority patch I posted (and the one above IIRC, I'd have
to repeat those benchmarks as well to be sure) accomplishes that
pretty much.
The reason I mention this old patch: If you compare the old patch above
with the kswapd/priority reversal patches I posted and discussed on
LKML, you'll notice that they have something in common: Slow down kswapd
freeing in favor of freeing by allocator. Seems to be a common theme.
I could speculate about the reasons, but I didn't have the time to test
any theories.
Roger
--
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/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
next prev parent reply other threads:[~2003-12-23 16:14 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-21 2:33 Rik van Riel
2003-12-21 14:15 ` William Lee Irwin III
2003-12-21 23:55 ` Roger Luethi
2003-12-22 1:21 ` William Lee Irwin III
2003-12-23 16:13 ` Roger Luethi
2003-12-22 1:34 ` Rik van Riel
2003-12-23 16:13 ` Roger Luethi
2003-12-22 6:56 ` Andrew Morton
2003-12-23 16:14 ` Roger Luethi [this message]
2003-12-22 7:00 ` William Lee Irwin III
2003-12-22 15:12 ` Benjamin LaHaise
2003-12-22 15:18 ` William Lee Irwin III
2003-12-22 15:22 ` Benjamin LaHaise
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=20031223161407.GC6082@k3.hellgate.ch \
--to=rl@hellgate.ch \
--cc=akpm@osdl.org \
--cc=linux-mm@kvack.org \
--cc=riel@redhat.com \
--cc=wli@holomorphy.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox