From: Andrew Morton <akpm@osdl.org>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: mem=16MB laptop testing
Date: Tue, 14 Oct 2003 04:56:14 -0700 [thread overview]
Message-ID: <20031014045614.22ea9c4b.akpm@osdl.org> (raw)
In-Reply-To: <20031014105514.GH765@holomorphy.com>
William Lee Irwin III <wli@holomorphy.com> wrote:
>
> So I tried mem=16m on my laptop (stinkpad T21).
Thanks for doing this. We should try to not suck in this situation.
> (a) The profile buffer requires about a 5MB bootmem allocation;
> this near halves MemTotal when used. I refrained from using it,
> as otherwise it's a test of mem=8m instead of mem=16m.
OK, so don't boot with `profile=N', yes?
> (b) bootmem allocations aren't adding up; after kernel text, data,
> and tracing __alloc_bootmem_core(), there is still about 0.5MB
> still missing from MemTotal. I still haven't found where it's
> gone. mem_map's bootmem allocation also didn't show up in the
> logs, but it should only be 160KB for 16MB of RAM, not 512KB.
> Matt Mackall spotted this, too.
Perhaps drop a printk(size) and a dump_stack() into the bootmem allocator,
then postprocess the dmesg output after it's booted?
> (c) mem= no longer bounds the highest physical address, but rather
> the sum of memory in e820 entries post-sanitization. This
> means a ZONE_NORMAL with about 384KB showed up, with duly
> perverse heuristic consequences for page_alloc.c
I don't understand this. You mean almost all memory was in ZONE_DMA?
"mem=" does not accurately emulate having that much memory. So a 512M box
booted with "mem=256M" has a different amount of memory from a 256M box
booted with no "mem=" option. It would be nice to fix that, but I've never
looked into it.
> (d) The system thrashed heavily on boot, allowing the largest mm
> to acquire an RSS no larger than about 100KB. This needed
> turning /proc/sys/vm/min_free_kb down to 128 to make the
> system behave closer to normally. Matt Mackall spotted this.
hrm. min_free_kbytes is normally 1024. I'm surprised that the additional
900k made so much difference. We must be on the hairy edge.
It looks like we need to precalculate/scale min_free_kbytes, yes?
> (e) About 4.8MB are consumed by slab allocations at runtime.
> The top 10 slab abusers are:
>
> inode_cache 840K 840K 100.00%
> dentry_cache 746K 753K 99.07%
> ext3_inode_cache 591K 592K 99.84%
> size-4096 504K 504K 100.00%
> size-512 203K 204K 99.75%
> size-2048 182K 204K 89.22%
> pgd 188K 188K 100.00%
> task_struct 100K 108K 92.86%
> vm_area_struct 93K 101K 92.28%
> blkdev_requests 101K 101K 100.00%
>
> The inode_cache culprit is the obvious butt of many complaints:
> # find /sys | wc -l
> 2656
>
> ... which accounts for 100% of the 840KB. TANSTAAFL. OTOH, maybe we
> need to learn to do better than pinning dentries and inodes in-core...
I guess not mounting /sys doesn't help here. It would be nice. Maybe with
a CONFIG_I_WILL_NEVER_MOUNT_SYSFS we could avoid all those allocations.
> Load control, anyone?
Roger Luethi is working on it; I need to pay some attention to his patch.
I expect we'll have something for post-2.6.0.
next prev parent reply other threads:[~2003-10-14 11:53 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-14 10:55 mem=16MB laptop testing William Lee Irwin III
2003-10-14 11:01 ` John Bradford
2003-10-14 11:08 ` William Lee Irwin III
2003-10-14 13:20 ` John Bradford
2003-10-14 11:56 ` Andrew Morton [this message]
2003-10-14 11:58 ` Russell King
2003-10-14 12:10 ` Andrew Morton
2003-10-14 12:18 ` Russell King
2003-10-14 12:30 ` Andrew Morton
2003-10-14 12:17 ` Anton Blanchard
2003-10-14 12:31 ` Andrew Morton
2003-10-14 12:44 ` Anton Blanchard
2003-10-14 23:40 ` Andrew Morton
2003-10-15 13:32 ` Martin Waitz
2003-10-15 17:34 ` Andrew Morton
2003-10-14 12:28 ` William Lee Irwin III
2003-10-15 12:12 ` Pavel Machek
2003-10-15 12:51 ` William Lee Irwin III
2003-10-15 13:20 ` Pavel Machek
2003-10-15 13:28 ` William Lee Irwin III
2003-10-15 13:59 ` Larry Sendlosky
2003-10-15 15:34 ` Dave Jones
2003-10-15 15:38 ` Thomas Schlichter
2003-10-15 16:06 ` Dave Jones
2003-10-15 17:45 ` Mike Dresser
2003-10-15 15:32 ` Dave Jones
2003-10-15 17:20 ` Andrew Morton
2003-10-15 0:35 ` Nick Piggin
2003-10-15 4:31 ` Andrew Morton
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=20031014045614.22ea9c4b.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--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