From: Andrea Arcangeli <andrea@suse.de>
To: "Martin J. Bligh" <mbligh@aracnet.com>
Cc: Ingo Molnar <mingo@elte.hu>, Peter Zaitsev <peter@mysql.com>,
Andrew Morton <akpm@osdl.org>,
riel@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: 2.4.23aa2 (bugfixes and important VM improvements for the high end)
Date: Fri, 5 Mar 2004 20:13:29 +0100 [thread overview]
Message-ID: <20040305191329.GR4922@dualathlon.random> (raw)
In-Reply-To: <39960000.1078512175@flay>
On Fri, Mar 05, 2004 at 10:42:55AM -0800, Martin J. Bligh wrote:
> > It's a nogo for 64G but I would be really pleased to see a workload
> > triggering the zone-normal shortage in 32G, I've never seen any one. And
> > 16G has even more margin.
>
> The things I've seen consume ZONE_NORMAL (which aren't reclaimable) are:
>
> 1. mem_map (obviously) (64GB = 704MB of mem_map)
I was asking 32G, that's half of that and it leaves 500M free. 64G is a
no-way with 3:1.
>
> 2. Buffer_heads (much improved in 2.6, though not completely gone IIRC)
the vm is able to reclaim them before running oom, though it has a
performance cost.
> 3. Pagetables (pte_highmem helps, pmds are existant, but less of a problem,
> 10,000 tasks would be 117MB)
pmds seems 13M for 10000 tasks, but maybe I did the math wrong.
>
> 4. Kernel stacks (10,000 tasks would be 78MB - 4K stacks would help obviously)
4k stacks then need to allocate the task struct in the heap, though it
still saves ram, but it's not very different.
>
> 5. rmap chains - this is the real killer without objrmap (even 1000 tasks
> sharing a 2GB shmem segment will kill you without large pages).
this overhead doesn't exist in 2.4.
> 6. vmas - wierdo Oracle things before remap_file_pages especially.
this is one of the main issues of 2.4.
> I may have forgotten some, but I think those were the main ones. 10,000 tasks
> is a little heavy, but it's easy to scale the numbers around. I guess my main
> point is that it's often as much to do with the number of tasks as it is
> with just the larger amount of memory - but bigger machines tend to run more
> tasks, so it often goes hand-in-hand.
yes, an 8-way with 32G it's unlikely that can scale up to 10000 tasks,
regardless, but maybe things change with a 32-way 32G.
The main thing you didn't mention is the overhead in the per-cpu data
structures, that alone generates an overhead of several dozen mbytes
only in the page allocator, without accounting the slab caches,
pagetable caches etc.. putting an high limit to the per-cpu caches
should make a 32-way 32G work fine with 3:1 too though. 8-way is
fine with 32G currently.
other relevant things are the fs stuff like file handles per task and
other pinned slab things.
> Also bear in mind that as memory gets tight, the reclaimable things like
> dcache and icache will get shrunk, which will hurt performance itself too,
for these workloads (the 10000 tasks are the workloads we know very
well) dcache/icache doesn't matter, and still I find 3:1 a more generic
kernel than 4:4 for random workloads too. And if you don't run the 10000
tasks workload then you've the normal-zone free to use for dcache
anyways.
> so some of the cost of 4/4 is paid back there too. Without shared pagetables,
> we may need highpte even on 4/4, which kind of sucks (can be 10% or so hit).
I think pte-highmem is definitely needed on 4:4 too, even if you use
hugetlbfs that won't cover PAE and the granular window which is quite a
lot of the ram.
Overall shared pageteables doesn't payoff for its complexity, rather
than sharing the pagetables it's better not to allocate them in the
first place ;) (hugetlbfs/largepages).
The pratical limit of the hardware was 5k tasks, not a kernel issue.
Your 10k example has never been tested, but obviously at some point a
limit will trigger (eventually the get_pid will stop finding a free pid
too ;)
next prev parent reply other threads:[~2004-03-05 19:12 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-27 1:33 Andrea Arcangeli
2004-02-27 4:38 ` Rik van Riel
2004-02-27 17:32 ` Andrea Arcangeli
2004-02-27 19:08 ` Rik van Riel
2004-02-27 20:29 ` Andrew Morton
2004-02-27 20:49 ` Rik van Riel
2004-02-27 20:55 ` Andrew Morton
2004-02-27 21:28 ` Andrea Arcangeli
2004-02-27 21:37 ` Andrea Arcangeli
2004-02-28 3:22 ` Andrea Arcangeli
2004-03-01 11:10 ` Nikita Danilov
2004-02-27 21:15 ` Andrea Arcangeli
2004-02-27 22:03 ` Martin J. Bligh
2004-02-27 22:23 ` Andrew Morton
2004-02-28 2:32 ` Andrea Arcangeli
2004-02-28 4:57 ` Wim Coekaerts
2004-02-28 6:18 ` Andrea Arcangeli
2004-02-28 6:45 ` Martin J. Bligh
2004-02-28 7:05 ` Andrea Arcangeli
2004-02-28 9:19 ` Dave Hansen
2004-03-18 2:44 ` Andrea Arcangeli
[not found] ` <20040228061838.GO8834@dualathlon.random.suse.lists.linux.kernel>
2004-02-28 12:46 ` Andi Kleen
2004-02-29 1:39 ` Andrea Arcangeli
2004-02-29 2:29 ` Andi Kleen
2004-02-29 16:34 ` Andrea Arcangeli
2004-02-28 6:10 ` Martin J. Bligh
2004-02-28 6:43 ` Andrea Arcangeli
2004-02-28 7:00 ` Martin J. Bligh
2004-02-28 7:29 ` Andrea Arcangeli
2004-02-28 14:55 ` Rik van Riel
2004-02-28 15:06 ` Arjan van de Ven
2004-02-29 1:43 ` Andrea Arcangeli
[not found] ` < 1078370073.3403.759.camel@abyss.local>
2004-03-04 3:14 ` Peter Zaitsev
2004-03-04 3:33 ` Andrew Morton
2004-03-04 3:44 ` Peter Zaitsev
2004-03-04 4:07 ` Andrew Morton
2004-03-04 4:44 ` Peter Zaitsev
2004-03-04 4:52 ` Andrea Arcangeli
2004-03-04 5:10 ` Andrew Morton
2004-03-04 5:27 ` Andrea Arcangeli
2004-03-04 5:38 ` Andrew Morton
2004-03-05 20:19 ` Jamie Lokier
2004-03-05 20:33 ` Andrea Arcangeli
2004-03-05 21:44 ` Jamie Lokier
2004-03-04 12:12 ` Rik van Riel
2004-03-04 16:21 ` Peter Zaitsev
2004-03-04 18:13 ` Andrea Arcangeli
2004-03-04 17:35 ` Martin J. Bligh
2004-03-04 18:16 ` Andrea Arcangeli
2004-03-04 19:31 ` Martin J. Bligh
2004-03-04 20:21 ` Peter Zaitsev
2004-03-05 10:33 ` Ingo Molnar
2004-03-05 14:15 ` Andrea Arcangeli
2004-03-05 14:32 ` Ingo Molnar
2004-03-05 14:58 ` Andrea Arcangeli
2004-03-05 15:26 ` Ingo Molnar
2004-03-05 15:53 ` Andrea Arcangeli
2004-03-07 8:41 ` Ingo Molnar
2004-03-07 10:29 ` Nick Piggin
2004-03-07 17:33 ` Andrea Arcangeli
2004-03-08 5:15 ` Nick Piggin
2004-03-07 17:24 ` Andrea Arcangeli
2004-03-05 21:28 ` Martin J. Bligh
2004-03-05 18:42 ` Martin J. Bligh
2004-03-05 19:13 ` Andrea Arcangeli [this message]
2004-03-05 19:55 ` Martin J. Bligh
2004-03-05 20:29 ` Andrea Arcangeli
2004-03-05 20:41 ` Andrew Morton
2004-03-05 21:07 ` Andrea Arcangeli
2004-03-05 22:12 ` Andrew Morton
2004-03-05 14:34 ` Ingo Molnar
2004-03-05 14:59 ` Andrea Arcangeli
2004-03-05 15:02 ` Ingo Molnar
[not found] ` <20040305150225.GA13237@elte.hu.suse.lists.linux.kernel>
2004-03-05 15:51 ` Andi Kleen
2004-03-05 16:23 ` Ingo Molnar
2004-03-05 16:39 ` Andrea Arcangeli
2004-03-07 8:16 ` Ingo Molnar
2004-03-10 13:21 ` Andi Kleen
2004-03-05 16:42 ` Andrea Arcangeli
2004-03-05 16:49 ` Ingo Molnar
2004-03-05 16:58 ` Andrea Arcangeli
2004-03-05 20:11 ` Jamie Lokier
2004-03-06 5:12 ` Jamie Lokier
2004-03-06 12:56 ` Magnus Naeslund(t)
2004-03-06 13:13 ` Magnus Naeslund(t)
2004-03-07 11:55 ` Ingo Molnar
2004-03-07 6:50 ` Peter Zaitsev
2004-03-02 9:10 ` Kurt Garloff
2004-03-02 15:32 ` Martin J. Bligh
2004-02-27 21:42 ` Hugh Dickins
2004-02-27 23:18 ` Marcelo Tosatti
2004-02-27 22:39 ` Andrew Morton
2004-02-27 20:31 ` Andrea Arcangeli
2004-02-29 6:34 ` Mike Fedyk
[not found] <20040304175821.GO4922@dualathlon.random>
2004-03-04 22:14 ` Rik van Riel
2004-03-04 23:24 ` Andrea Arcangeli
2004-03-05 3:43 ` Rik van Riel
[not found] <1u7eQ-6Bz-1@gated-at.bofh.it>
[not found] ` <1ue6M-45w-11@gated-at.bofh.it>
[not found] ` <1uofN-4Rh-25@gated-at.bofh.it>
[not found] ` <1vRz3-5p2-11@gated-at.bofh.it>
[not found] ` <1vRSn-5Fc-11@gated-at.bofh.it>
[not found] ` <1vS26-5On-21@gated-at.bofh.it>
[not found] ` <1wkUr-3QW-11@gated-at.bofh.it>
[not found] ` <1wolx-7ET-31@gated-at.bofh.it>
[not found] ` <1woEM-7Yx-41@gated-at.bofh.it>
[not found] ` <1wp8b-7x-3@gated-at.bofh.it>
[not found] ` <1wp8l-7x-25@gated-at.bofh.it>
[not found] ` <1x0qG-Dr-3@gated-at.bofh.it>
2004-03-12 21:15 ` Andi Kleen
2004-03-18 19:50 ` Peter Zaitsev
[not found] ` <1woEJ-7Yx-25@gated-at.bofh.it>
[not found] ` <1wp8c-7x-5@gated-at.bofh.it>
[not found] ` <1wprd-qI-21@gated-at.bofh.it>
[not found] ` <1wpUz-Tw-21@gated-at.bofh.it>
[not found] ` <1x293-2nT-7@gated-at.bofh.it>
2004-03-12 21:25 ` Andi Kleen
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=20040305191329.GR4922@dualathlon.random \
--to=andrea@suse.de \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.com \
--cc=mingo@elte.hu \
--cc=peter@mysql.com \
--cc=riel@redhat.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
all inboxes | Powered by JetHome®