linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: William Lee Irwin III <wli@holomorphy.com>
To: Hiroyuki KAMEZAWA <kamezawa.hiroyu@jp.fujitsu.com>
Cc: linux-mm <linux-mm@kvack.org>, LHMS <lhms-devel@lists.sourceforge.net>
Subject: Re: [RFC]  free_area[]  bitmap elimination [0/3]
Date: Fri, 20 Aug 2004 19:55:43 -0700	[thread overview]
Message-ID: <20040821025543.GS11200@holomorphy.com> (raw)
In-Reply-To: <4126B3F9.90706@jp.fujitsu.com>

On Sat, Aug 21, 2004 at 11:31:21AM +0900, Hiroyuki KAMEZAWA wrote:
> This patch removes bitmap from buddy allocator used in
> alloc_pages()/free_pages() in the kernel 2.6.8.1.
> Currently, Linux's page allocator uses bitmaps to record an order
> of a free page.
> This patch removes bitmap from buddy allocator, and uses
> page->private field to record an order of a page.
> My purpose is to reduce complexity of buddy allocator, when we want to
> hotplug memory. For memory hotplug, we have to resize memory management
> structures. Major two of them are mem_map and bitmap.If this patch removes
> bitmap from buddy allocator, resizeing bitmap will be needless.
> I tested this patch on my small PC box(Celeron900MHz,256MB memory)
> and a server machine(Xeon x 2, 4GB memory).

Complexity maybe. But one serious issue this addresses beyond the needs
of hotplug memory is that the buddy bitmaps are a heavily random-access
data structures not used elsewhere. Consolidating them into the page
structures should improve cache locality and motivate this patch beyond
just the needs of hotplug memory. Furthermore, the patch also reduces
the kernel's overall memory footprint by a small amount.

However, I'm concerned about the effectiveness of this specific
algorithm for coalescing. A more detailed description may help explain
why the effectiveness of coalescing is preserved.


-- wli
--
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:"aart@kvack.org"> aart@kvack.org </a>

  reply	other threads:[~2004-08-21  2:55 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-21  2:31 Hiroyuki KAMEZAWA
2004-08-21  2:55 ` William Lee Irwin III [this message]
2004-08-21  4:56   ` [Lhms-devel] " Hirokazu Takahashi
2004-08-21  5:21     ` William Lee Irwin III
2004-08-21  5:37       ` Hiroyuki KAMEZAWA
2004-08-21  5:37         ` William Lee Irwin III
2004-08-21  6:10           ` Hiroyuki KAMEZAWA
2004-08-21 17:48             ` William Lee Irwin III
2004-08-21  5:00   ` Hiroyuki KAMEZAWA
2004-08-21  5:01     ` [Lhms-devel] " Hirokazu Takahashi
2004-08-21  5:26       ` Hiroyuki KAMEZAWA
2004-08-21  5:01     ` William Lee Irwin III
2004-08-21  9:43 ` Nigel Cunningham
2004-08-23 14:36 ` [Lhms-devel] " Dave Hansen
2004-08-23 15:00   ` Dave Hansen
2004-08-24  0:07     ` [Lhms-devel] " Hiroyuki KAMEZAWA
2004-08-24  0:00   ` [Lhms-devel] " Hiroyuki KAMEZAWA
2004-08-24  2:28     ` Hirokazu Takahashi
2004-08-24  2:49     ` Dave Hansen
2004-08-24  3:31       ` Hiroyuki KAMEZAWA
2004-08-23 15:43 ` Dave Hansen
2004-08-24  0:15   ` Hiroyuki KAMEZAWA

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=20040821025543.GS11200@holomorphy.com \
    --to=wli@holomorphy.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=lhms-devel@lists.sourceforge.net \
    --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