public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Martin J. Bligh" <mbligh@aracnet.com>
To: Andrea Arcangeli <andrea@suse.de>
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, 05 Mar 2004 11:55:05 -0800	[thread overview]
Message-ID: <56050000.1078516505@flay> (raw)
In-Reply-To: <20040305191329.GR4922@dualathlon.random>

>> 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.

Yup.

>> 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.

Didn't used to in SLES8 at least. maybe it does in 2.6 now, I know Andrew
worked on that a lot.
 
>> 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.

3 pages per task = 12K per task = 120,000Kb. Or that's the way I figured
it at least.

>> 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.

In 2.6, I think the task struct is outside the kernel stack either way.
Maybe you were pointing out something else? not sure.
 
> 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.

Humpf. Do you have a hard figure on how much it actually is per cpu?
 
> other relevant things are the fs stuff like file handles per task and
> other pinned slab things.

Yeah, that was a huge one we forgot ... sysfs. Particularly with large
numbers of disks, IIRC, though other resources might generate similar
issues.

> 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).

That might be another approach, yes ... some more implicit allocation 
stuff would help here - modifying ISV apps is a PITA to get done, and 
takes *forever*. Adam wrote some patches that are sitting in my tree,
some of which were ported forward from SLES8. But then we get into
massive problems with them not being swappable, so you need capabilities,
etc, etc. Ugh.

> 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 ;)

You mean with the 8cpu box you mentioned above? Yes, probably 5K. Larger 
boxes will get progressively scarier ;-)

What scares me more is that we can sit playing counting games all day,
but there's always something we will forget. So I'm not keen on playing
brinkmanship games with customers systems ;-)

M.

  reply	other threads:[~2004-03-05 19:55 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-27  1:33 2.4.23aa2 (bugfixes and important VM improvements for the high end) 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
2004-03-05 19:55                                             ` Martin J. Bligh [this message]
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=56050000.1078516505@flay \
    --to=mbligh@aracnet.com \
    --cc=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --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