From: Yasunori Goto <y-goto@jp.fujitsu.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: question about memory-hotplug
Date: Thu, 05 Apr 2007 06:07:22 +0000 [thread overview]
Message-ID: <20070405114929.4246.Y-GOTO@jp.fujitsu.com> (raw)
In-Reply-To: <4611BF4D.6020002@ncic.ac.cn>
> > Yes there are. Zone is still necessary for page reclaim.
> > Node and zonelist are used for NUMA system.
> >
> Buddy allocate memory with the mem_section[] and without zone-aware
> ,while it reclaim memory with zone,is it right?
> I am confused about the functions of the zone and node in the system
> ,when the sparsemem is on
Basically, mem_section[] is for pointer to mem_map.
It doesn't count how many pages are allocated/freed in its section.
This just divides mem_map[] as discontiguous.
Buddy allocater must know 2 things.
First is the address of buddy page against target page.
It can be calculated as --relative offset-- from target page.
(See: __page_find_buddy()). So, buddy allocater doesn't know mem_map is
discontigous or not.
From this view point, Buddy allocater doen't concern about any
zone, node, nor mem_section.
Second is free_list for managing free pages. Its list is connected
to zone. So, buddy allocator must know about only zone's address
and target page's address. It doesn't know mem_map is contiguous
or not too.
Current zone is used for manage freed/active/inactive pages.
Zone has link lists and counters of their pages.
There is no assumption that zone is contiguous from this view point.
Even if there is a memory hole in zone, zone can work.
Just memmap array has assumption that physicall memory is contigous.
Index of memmap is decided by Page Frame Number. If there is big
memory hole in memory, many space of it will be wasted.
This is why mem_section is used for sparse mem.
Node is for NUMA node now. Each node have each pgdat. This is
unit for managing memory areas which has different access
speed. Kernel can use nearest memory from cpu by finding appropriate
pgdat.
Old DISCONTIG_MEM defines one pgdat for one contigous memory area.
But many people dislike now. If system has too much memory area
which area is small size, too much pgdats and big zonelists
are big cause of system load.
Bye.
--
Yasunori Goto
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CIDÞVDEV
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
next prev parent reply other threads:[~2007-04-05 6:07 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-03 2:43 question about memory-hotplug tgh
2007-04-04 5:58 ` Yasunori Goto
2007-04-04 8:53 ` tgh
2007-04-04 10:29 ` Yasunori Goto
2007-04-04 12:14 ` tgh
2007-04-04 12:33 ` Yasunori Goto
2007-04-05 2:03 ` tgh
2007-04-05 6:07 ` Yasunori Goto [this message]
2007-04-05 8:50 ` tgh
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=20070405114929.4246.Y-GOTO@jp.fujitsu.com \
--to=y-goto@jp.fujitsu.com \
--cc=linux-hotplug@vger.kernel.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).