From: Andy Whitcroft <apw@shadowen.org>
To: Mike Kravetz <kravetz@us.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
linuxppc64-dev@ozlabs.org, linux-kernel@vger.kernel.org,
lhms-devel@lists.sourceforge.net
Subject: Re: [PATCH 1/4] Memory Add Fixes for ppc64
Date: Tue, 08 Nov 2005 14:51:55 +0000 [thread overview]
Message-ID: <4370BB8B.9060705@shadowen.org> (raw)
In-Reply-To: <20051107204743.GC5821@w-mikek2.ibm.com>
Mike Kravetz wrote:
> Just curious if we still want to boost MAX_ORDER like this with 64k
> pages? Doesn't that make the MAX_ORDER block size 256MB in this case?
> Also, not quite sure what happens if memory size (a 16 MB multiple)
> does not align with a MAX_ORDER block size (a 256MB multiple in this
> case). My 'guess' is that the page allocator would not use it as it
> would not fit within the buddy system.
The buddy system and the SPARSEMEM mem_map are separate really. The key
limitation is the a MAX_ORDER chunk must fit within the SPARSEMEM block
size it cannot span two blocks. This is because the algorithm by which
the buddy system finds buddies for a returning allocation assumes that
mem_map is contigious upto the maximum buddy size (MAX_ORDER); it
assumes it can use relative addressing to locate them.
The buddy system doesn't really care about the alignment of any of its
blocks. The allocator is built empty and all existant pages are freed
back to it. If there is a chunk of memory which can never coalesce back
to MAX_ORDER it will simply sit lower in the tree 'waiting' for these
non-existant buddies and will never merge. It will still be usable.
-apw
next prev parent reply other threads:[~2005-11-08 14:52 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-04 23:15 [PATCH 0/4] Memory Add Fixes for ppc64 Mike Kravetz
2005-11-04 23:18 ` [PATCH 1/4] " Mike Kravetz
2005-11-05 0:04 ` Benjamin Herrenschmidt
2005-11-05 0:35 ` Mike Kravetz
2005-11-05 0:43 ` Benjamin Herrenschmidt
2005-11-07 20:47 ` Mike Kravetz
2005-11-07 21:12 ` Benjamin Herrenschmidt
2005-11-07 21:48 ` Mike Kravetz
2005-11-08 0:35 ` Benjamin Herrenschmidt
2005-11-08 14:51 ` Andy Whitcroft [this message]
2005-11-08 0:25 ` [PATCH 1/4] revised " Mike Kravetz
2005-11-08 2:07 ` Paul Mackerras
2005-11-08 3:02 ` Mike Kravetz
2005-11-04 23:19 ` [PATCH 2/4] " Mike Kravetz
2005-11-04 23:20 ` [PATCH 3/4] " Mike Kravetz
2005-11-04 23:21 ` [PATCH 4/4] " Mike Kravetz
2005-11-07 0:59 ` Paul Mackerras
2005-11-07 17:39 ` Mike Kravetz
2005-11-08 0:39 ` [PATCH 0/4] " Anton Blanchard
2005-11-08 0:48 ` Mike Kravetz
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=4370BB8B.9060705@shadowen.org \
--to=apw@shadowen.org \
--cc=benh@kernel.crashing.org \
--cc=kravetz@us.ibm.com \
--cc=lhms-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc64-dev@ozlabs.org \
--cc=paulus@samba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.