From: Andrew Morton <akpm@osdl.org>
To: Robert Love <rml@tech9.net>
Cc: linux-kernel@vger.kernel.org, Valdis.Kletnieks@vt.edu,
piggin@cyberone.com.au, kernel@kolivas.org, linux-mm@kvack.org
Subject: Re: [patch] real-time enhanced page allocator and throttling
Date: Wed, 6 Aug 2003 01:41:48 -0700 [thread overview]
Message-ID: <20030806014148.5408cfbd.akpm@osdl.org> (raw)
In-Reply-To: <1060142290.4494.197.camel@localhost>
Robert Love <rml@tech9.net> wrote:
>
> On Tue, 2003-08-05 at 17:45, Andrew Morton wrote:
>
> > It's testing time.
>
> Just via some instrumenting, I can see that a real-time task never
> begins throttling and this translates to a ~1ms reduction in worst case
> allocation on a fast machine latency under extreme page dirtying and
> writeback (basically, I cannot reproduce any variation in page
> allocation, now, for a real-time test app). So it works.
>
> But I do not have any real world test to confirm a benefit, which is
> what matters. Have you poked and prodded?
>
It's pretty easy to demonstrate the benefit of the balance_dirty_pages()
change. Just do:
while true
do
dd if=/dev/zero of=foo bs=1M count=512 conv=notrunc
done
and also:
rm 1 ; sleep 3; time dd if=/dev/zero of=1 bs=16M count=1
The 16M dd normally takes 1.5 seconds (I'm pretty please with that btw.
Very repeatable and fair). If you run the 16M dd with SCHED_FIFO it takes
a repeatable 0.12 seconds.
But it's pretty easy to make the machine do bad things with no dirty memory
throttling. Probably we should just treat realtime tasks in the same way
as PF_LESS_THROTTLE tasks.
It's a bit harder to demonstrate benefits from the page allocator change.
Allocate 4 megs while there is a huge amount of swapout happening is much
quicker and repeatable. But generally things work pretty well with just
SCHED_OTHER. Needs some more careful testing.
Often you get great big stalls because your SCHED_RR task is stuck in
ext3's journal_start, waiting for kjournald to finish a commit, due to an
atime update. So noatime is needed there. And then it gets stuck in a
disk read.
So running a program off disk isn't a very good test.
--
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-08-06 8:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-05 22:13 Robert Love
2003-08-06 0:09 ` Andrew Morton
2003-08-06 0:39 ` Robert Love
2003-08-06 0:45 ` Andrew Morton
2003-08-06 3:58 ` Robert Love
2003-08-06 8:41 ` Andrew Morton [this message]
2003-08-06 17:01 ` Robert Love
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=20030806014148.5408cfbd.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=Valdis.Kletnieks@vt.edu \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=piggin@cyberone.com.au \
--cc=rml@tech9.net \
/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