From: Andi Kleen <andi@firstfloor.org>
To: Christoph Lameter <clameter@sgi.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [13/14] vcompound: Use vcompound for swap_map
Date: 21 Mar 2008 22:25:47 +0100 [thread overview]
Message-ID: <8763vfixb8.fsf@basil.nowhere.org> (raw)
In-Reply-To: <20080321061727.269764652@sgi.com>
Christoph Lameter <clameter@sgi.com> writes:
> Use virtual compound pages for the large swap maps. This only works for
> swap maps that are smaller than a MAX_ORDER block though. If the swap map
> is larger then there is no way around the use of vmalloc.
Have you considered the potential memory wastage from rounding up
to the next page order now? (similar in all the other patches
to change vmalloc). e.g. if the old size was 64k + 1 byte it will
suddenly get 128k now. That is actually not a uncommon situation
in my experience; there are often power of two buffers with
some small headers.
A long time ago (in 2.4-aa) I did something similar for module loading
as an experiment to avoid too many TLB misses. The module loader
would first try to get a continuous range in the direct mapping and
only then fall back to vmalloc.
But I used a simple trick to avoid the waste problem: it allocated a
continuous range rounded up to the next page-size order and then freed
the excess pages back into the page allocator. That was called
alloc_exact(). If you replace vmalloc with alloc_pages you should
use something like that too I think.
-Andi
--
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:[~2008-03-21 21:25 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-21 6:17 [00/14] Virtual Compound Page Support V3 Christoph Lameter
2008-03-21 6:17 ` [01/14] vcompound: Return page array on vunmap Christoph Lameter
2008-03-21 6:17 ` [02/14] vcompound: pageflags: Add PageVcompound() Christoph Lameter
2008-03-21 6:17 ` [03/14] vmallocinfo: Support display of vcompound for a virtual compound page Christoph Lameter
2008-03-21 7:55 ` Eric Dumazet
2008-03-21 17:32 ` Christoph Lameter
2008-03-21 6:17 ` [04/14] vcompound: Core piece Christoph Lameter
2008-03-22 12:10 ` KOSAKI Motohiro
2008-03-24 18:28 ` Christoph Lameter
2008-03-21 6:17 ` [05/14] vcompound: Debugging aid Christoph Lameter
2008-03-21 6:17 ` [06/14] vcompound: Virtual fallback for sparsemem Christoph Lameter
2008-03-21 6:17 ` [07/14] vcompound: bit waitqueue support Christoph Lameter
2008-03-21 6:17 ` [08/14] vcompound: Fallback for zone wait table Christoph Lameter
2008-03-21 6:17 ` [09/14] vcompound: crypto: Fallback for temporary order 2 allocation Christoph Lameter
2008-03-21 6:17 ` [10/14] vcompound: slub: Use for buffer to correlate allocation addresses Christoph Lameter
2008-03-21 6:17 ` [11/14] vcompound: Fallbacks for order 1 stack allocations on IA64 and x86 Christoph Lameter
2008-03-21 7:25 ` David Miller, Christoph Lameter
2008-03-21 8:39 ` Ingo Molnar
2008-03-21 17:33 ` Christoph Lameter
2008-03-21 19:02 ` Ingo Molnar
2008-03-21 19:04 ` Christoph Lameter
2008-03-21 17:40 ` Christoph Lameter
2008-03-21 21:57 ` David Miller, Christoph Lameter
2008-03-24 18:27 ` Christoph Lameter
2008-03-24 20:37 ` larger default page sizes David Miller, Christoph Lameter
2008-03-24 21:05 ` Christoph Lameter
2008-03-24 21:43 ` David Miller, Christoph Lameter
2008-03-25 17:48 ` Christoph Lameter
2008-03-25 23:22 ` David Miller, Christoph Lameter
2008-03-25 23:41 ` Peter Chubb
2008-03-25 23:49 ` David Miller, Peter Chubb
2008-03-26 0:25 ` Peter Chubb
2008-03-26 0:31 ` David Miller, Peter Chubb
2008-03-26 0:34 ` David Mosberger-Tang
2008-03-26 0:39 ` David Miller, David Mosberger-Tang
2008-03-26 0:57 ` Peter Chubb
2008-03-26 4:16 ` John Marvin
2008-03-26 4:36 ` David Miller, John Marvin
2008-03-24 21:25 ` Luck, Tony
2008-03-24 21:46 ` David Miller, Luck, Tony
2008-03-25 3:29 ` Paul Mackerras
2008-03-25 4:15 ` David Miller, Paul Mackerras
2008-03-25 11:50 ` Paul Mackerras
2008-03-25 23:32 ` David Miller, Paul Mackerras
2008-03-25 23:49 ` Luck, Tony
2008-03-26 0:16 ` David Miller, Luck, Tony
2008-03-26 15:54 ` Nish Aravamudan
2008-03-26 17:05 ` Luck, Tony
2008-03-26 18:54 ` Mel Gorman
2008-03-25 12:05 ` Andi Kleen
2008-03-25 21:27 ` Paul Mackerras
2008-03-26 5:24 ` Paul Mackerras
2008-03-26 15:59 ` Linus Torvalds
2008-03-27 1:08 ` Paul Mackerras
2008-03-26 17:56 ` Christoph Lameter
2008-03-26 23:21 ` David Miller, Christoph Lameter
2008-03-27 3:00 ` Paul Mackerras
2008-03-25 18:27 ` Dave Hansen
2008-03-24 21:13 ` [11/14] vcompound: Fallbacks for order 1 stack allocations on IA64 and x86 Luck, Tony
2008-03-25 17:42 ` Christoph Lameter
2008-03-25 19:09 ` Luck, Tony
2008-03-25 19:25 ` Christoph Lameter
2008-03-21 22:30 ` Andi Kleen
2008-03-24 19:53 ` Christoph Lameter
2008-03-25 7:51 ` Andi Kleen
2008-03-25 17:55 ` Christoph Lameter
2008-03-25 18:07 ` Andi Kleen
2008-03-21 6:17 ` [12/14] vcompound: Avoid vmalloc in e1000 driver Christoph Lameter
2008-03-21 17:27 ` Kok, Auke
2008-03-21 6:17 ` [13/14] vcompound: Use vcompound for swap_map Christoph Lameter
2008-03-21 21:25 ` Andi Kleen [this message]
2008-03-21 21:33 ` Christoph Lameter
2008-03-24 19:54 ` Christoph Lameter
2008-03-25 7:52 ` Andi Kleen
2008-03-25 17:45 ` Christoph Lameter
2008-03-25 17:55 ` Andi Kleen
2008-03-25 17:51 ` Christoph Lameter
2008-03-21 6:17 ` [14/14] vcompound: Avoid vmalloc for ehash_locks Christoph Lameter
2008-03-21 7:02 ` Eric Dumazet
2008-03-21 7:03 ` Christoph Lameter
2008-03-21 7:31 ` David Miller, Christoph Lameter
2008-03-21 7:42 ` Eric Dumazet
2008-03-21 7:31 ` David Miller, Eric Dumazet
2008-03-21 17:31 ` Christoph Lameter
2008-03-22 18:40 ` [00/14] Virtual Compound Page Support V3 Arjan van de Ven
2008-03-24 18:31 ` Christoph Lameter
2008-03-24 19:29 ` Christoph Lameter
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=8763vfixb8.fsf@basil.nowhere.org \
--to=andi@firstfloor.org \
--cc=clameter@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).