From: Christoph Lameter <clameter@sgi.com>
To: Dave Hansen <hansendc@us.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
Martin Bligh <mbligh@google.com>,
linux-mm@kvack.org, Andi Kleen <ak@suse.de>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [PATCH 1/2] Generic Virtual Memmap suport for SPARSEMEM
Date: Mon, 2 Apr 2007 14:53:34 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0704021449200.2272@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <1175550151.22373.116.camel@localhost.localdomain>
On Mon, 2 Apr 2007, Dave Hansen wrote:
> > The slab allocator purposes is to deliver small sub page sized chunks.
> > The page allocator is there to allocate pages. Both are optimized for its
> > purpose.
>
> I understand that, in general, but how does that optimization help,
> here, exactly? My argument is that if we use the slab, it means more
> code sharing with existing code in sparse.c. Other than ideology, what
> practical reasons are there in this case that keep us from doing that
> otherwise attractive code sharing.
F.e. you are wasting memory that the slab needs to uselessly track these
allocations. You would need to create a special slab that has page sized
(or huge page sized) alignment to have the proper allocation behavior. Not
good.
The rest of sparse is not MMU bound. So you may be fine. I'd recommend
though to use the page allocator if you are doing large allocations. I do
not see the point of using slab there.
> I don't think the pagetable walks are generic enough to ever get used on
> ppc, unless they start walking the Linux pagetables for the kernel
> virtual address area. I was trying to poke you into getting the
> pagetable walks out of sparse.c. ;)
If I would be doing that then we would end up adding these pagetable walks
to multiple architectures. I already need to cover IA64 and x86_64 and
this will also do i386. Lets try to keep them generic. PPC may need to
disable these walks and do its own thing.
> > Well think about how to handle the case that the allocatiopn of a page
> > table page or a vmemmap block fails. Once we have that sorted out then we
> > can cleanup the higher layers.
>
> I think it is best to just completely replace
> sparse_early_mem_map_alloc() for the vmemmap case. It really is a
> completely different beast. You'd never, for instance, have
> alloc_remap() come into play.
What is the purpose of alloc_remap? Could not figure that one out.
--
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:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-04-02 21:53 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-01 7:10 Christoph Lameter
2007-04-01 7:10 ` [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL Christoph Lameter
2007-04-01 7:11 ` Christoph Lameter
2007-04-01 10:46 ` Andi Kleen
2007-04-02 15:37 ` Christoph Lameter
2007-04-02 15:44 ` Andi Kleen
2007-04-02 15:51 ` Martin J. Bligh
2007-04-02 15:54 ` Christoph Lameter
2007-04-02 17:14 ` Andi Kleen
2007-04-02 17:34 ` Christoph Lameter
2007-04-02 19:54 ` Dave Hansen
2007-04-02 20:11 ` Christoph Lameter
2007-04-02 20:13 ` Dave Hansen
2007-04-02 20:30 ` Christoph Lameter
2007-04-02 20:38 ` Martin Bligh
2007-04-02 20:51 ` Christoph Lameter
2007-04-05 11:50 ` Andy Whitcroft
2007-04-05 18:27 ` Christoph Lameter
2007-04-07 22:06 ` [PATCH 1/4] x86_64: (SPARSE_VIRTUAL doubles sparsemem speed) Christoph Lameter
2007-04-07 22:18 ` Andi Kleen
2007-04-09 16:40 ` William Lee Irwin III
2007-04-09 17:16 ` Christoph Lameter
2007-04-09 18:20 ` William Lee Irwin III
2007-04-02 21:08 ` [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL Dave Hansen
2007-04-02 21:28 ` Christoph Lameter
2007-04-02 21:43 ` Martin Bligh
2007-04-02 21:56 ` Dave Hansen
2007-04-02 22:29 ` Christoph Lameter
2007-04-02 22:31 ` Andi Kleen
2007-04-02 22:37 ` Christoph Lameter
2007-04-02 22:41 ` Martin Bligh
2007-04-02 22:49 ` Christoph Lameter
2007-04-02 22:52 ` Martin Bligh
2007-04-05 12:07 ` Andy Whitcroft
2007-04-04 21:27 ` Bob Picco
2007-04-04 22:38 ` Christoph Lameter
2007-04-02 23:03 ` Bjorn Helgaas
2007-04-02 15:44 ` Christoph Lameter
2007-04-02 16:18 ` Christoph Lameter
2007-04-02 20:50 ` [PATCH 1/2] Generic Virtual Memmap suport for SPARSEMEM Dave Hansen
2007-04-02 21:00 ` Christoph Lameter
2007-04-02 21:22 ` Dave Hansen
2007-04-02 21:31 ` Christoph Lameter
2007-04-02 21:42 ` Dave Hansen
2007-04-02 21:53 ` Christoph Lameter [this message]
2007-04-02 22:05 ` Dave Hansen
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=Pine.LNX.4.64.0704021449200.2272@schroedinger.engr.sgi.com \
--to=clameter@sgi.com \
--cc=ak@suse.de \
--cc=hansendc@us.ibm.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mbligh@google.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