From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: torvalds@osdl.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH 0/3] beat kswapd with the proverbial clue-bat
Date: Sun, 05 Sep 2004 16:26:01 +1000 [thread overview]
Message-ID: <413AB179.5030706@yahoo.com.au> (raw)
In-Reply-To: <20040904230939.03da8d2d.akpm@osdl.org>
Andrew Morton wrote:
> Nick Piggin <nickpiggin@yahoo.com.au> wrote:
>
>>Apparently these (higher-order && !wait) come up mainly in networking
>>which is the thing I had in mind. *However* as I only have half of a
>>gigabit network (ie. 1 card), I haven't done any testing where it
>>really counts. I'm also seeing surprisingly few reports on lkml, so
>>perhaps it is me that needs the beating?
>
>
> There have been few reports, and I believe that networking is getting
> changed to reduce the amount of GFP_ATOMIC higher-order allocation
> attempts.
>
That is the ideal goal, I think. But while our allocator offers higher
order allocations, we *should* be a bit smarter about them.
> There have been multiple instances in the past year or so where we've made
> changes in there, the changes were not adequately tested and stuff broke in
> subtle ways. We need to raise the bar a bit - clearly demonstrate that we
> have a problem, and then demonstrate that the fix fixes it, then worry
> about side-effects.
>
Yep. As you see I've already corrected myself a couple of times :\
RFC only at this stage.
>
> I don't see anything in your code which directly prevents the following
> serious scenario:
>
> a) Some random 0-order allocation causes a 4-order page to be split up,
> taking the 4-order pool below threshold.
>
> b) kswapd goes berzerk reclaiming 9000 pages to replenish the 4-order
> pool even though we don't need it.
>
> You have arith in there which kinda-sorta prevents it, but I don't see any
> hard-and-fast protection. Or did I miss it?
>
Yep. Kswapd will not care about 4-order allocations unless someone does
a wake_kswapd(order 4);
We could get into a situation where kswapd free smore than required, but
if you've got someone regularly allocating 4-order pages, it probably
isn't *that* dumb to free one or two more.
If we complete an entire balance_pgdat round without freeing the required
pages, that kswapd_max_order gets reset to zero anyway...
--
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:[~2004-09-05 6:26 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-05 5:44 Nick Piggin
2004-09-05 5:45 ` [RFC][PATCH 1/3] account free buddy areas Nick Piggin
2004-09-05 5:46 ` [RFC][PATCH 2/3] alloc-order watermarks Nick Piggin
2004-09-05 5:47 ` [RFC][PATCH 3/3] teach kswapd about watermarks Nick Piggin
2004-09-05 6:04 ` David S. Miller
2004-09-05 6:20 ` Nick Piggin
2004-09-05 5:50 ` [RFC][PATCH 2/3] alloc-order watermarks Nick Piggin
2004-09-05 6:13 ` [RFC][PATCH 1/3] account free buddy areas Nick Piggin
2004-09-05 6:02 ` [RFC][PATCH 0/3] beat kswapd with the proverbial clue-bat David S. Miller
2004-09-05 6:16 ` Nick Piggin
2004-09-05 10:13 ` Nick Piggin
2004-09-05 17:24 ` Linus Torvalds
2004-09-05 17:36 ` Martin J. Bligh
2004-09-05 17:37 ` Arjan van de Ven
2004-09-05 17:58 ` Linus Torvalds
2004-09-05 18:41 ` Arjan van de Ven
2004-09-06 1:35 ` Nick Piggin
2004-09-15 13:27 ` Jörn Engel
2004-09-15 13:29 ` Arjan van de Ven
2004-09-15 13:34 ` Jörn Engel
2004-09-15 13:39 ` Arjan van de Ven
2004-09-15 14:18 ` Jörn Engel
2004-09-06 1:09 ` Nick Piggin
2004-09-05 6:09 ` Andrew Morton
2004-09-05 6:26 ` Nick Piggin [this message]
2004-09-05 6:27 ` Anton Blanchard
2004-09-05 10:09 ` Nick Piggin
2004-09-06 3:33 ` David S. Miller
2004-09-06 8:55 ` Nick Piggin
2004-09-05 16:49 ` Linus Torvalds
2004-09-06 0:54 ` Nick Piggin
2004-09-06 1:49 ` Nick Piggin
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=413AB179.5030706@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=torvalds@osdl.org \
/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