login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2010
»
May
»
14
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Yinghai
Subject:
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
Date: Thursday, May 13, 2010 - 11:34 pm
On 05/13/2010 07:29 PM, Benjamin Herrenschmidt wrote:
quoted text
> On Thu, 2010-05-13 at 17:19 -0700, Yinghai Lu wrote: >> According to node range in early_node_map[] with __lmb_find_area >> to find free range. >> >> Will be used by lmb_find_area_node() >> >> lmb_find_area_node will be used to find right buffer for NODE_DATA > > The prototype for this has nothing to do in lmb.h under that name at > least.
it is calling __lmb_find_area() but it need to use early_node_map[], so put this function here
quoted text
> > Cheers, > Ben. > >> Signed-off-by: Yinghai Lu <yinghai@kernel.org> >> --- >> include/linux/mm.h | 2 ++ >> mm/page_alloc.c | 29 +++++++++++++++++++++++++++++ >> 2 files changed, 31 insertions(+), 0 deletions(-) >> >> diff --git a/include/linux/mm.h b/include/linux/mm.h >> index fb19bb9..7774e1d 100644 >> --- a/include/linux/mm.h >> +++ b/include/linux/mm.h >> @@ -1159,6 +1159,8 @@ extern void free_bootmem_with_active_regions(int nid, >> unsigned long max_low_pfn); >> int add_from_early_node_map(struct range *range, int az, >> int nr_range, int nid); >> +u64 __init find_memory_core_early(int nid, u64 size, u64 align, >> + u64 goal, u64 limit); >> void *__alloc_memory_core_early(int nodeid, u64 size, u64 align, >> u64 goal, u64 limit); >> typedef int (*work_fn_t)(unsigned long, unsigned long, void *); >> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >> index d03c946..72afd94 100644 >> --- a/mm/page_alloc.c >> +++ b/mm/page_alloc.c >> @@ -21,6 +21,7 @@ >> #include <linux/pagemap.h> >> #include <linux/jiffies.h> >> #include <linux/bootmem.h> >> +#include <linux/lmb.h> >> #include <linux/compiler.h> >> #include <linux/kernel.h> >> #include <linux/kmemcheck.h> >> @@ -3393,6 +3394,34 @@ void __init free_bootmem_with_active_regions(int nid, >> } >> } >> >> +#ifdef CONFIG_HAVE_LMB >> +u64 __init find_memory_core_early(int nid, u64 size, u64 align, >> + u64 goal, u64 limit) >> +{ >> + int i; >> + >> + /* Need to go over early_node_map to find out good range for node */ >> + for_each_active_range_index_in_nid(i, nid) { >> + u64 addr; >> + u64 ei_start, ei_last; >> + >> + ei_last = early_node_map[i].end_pfn; >> + ei_last <<= PAGE_SHIFT; >> + ei_start = early_node_map[i].start_pfn; >> + ei_start <<= PAGE_SHIFT; >> + addr = __lmb_find_area(ei_start, ei_last, >> + goal, limit, size, align); >> + >> + if (addr == LMB_ERROR) >> + continue; >> + >> + return addr; >> + } >> + >> + return -1ULL; >> +} >> +#endif >> + >> int __init add_from_early_node_map(struct range *range, int az, >> int nr_range, int nid) >> { >
--
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
[PATCH -v16 00/35] Use lmb with x86
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 04/35] lmb: Add lmb_find_area()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 06/35] bootmem, x86: Add weak version of reserve_bo ...
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 07/35] x86, lmb: Add lmb_to_bootmem()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 08/35] x86,lmb: Add lmb_reserve_area/lmb_free_area
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 09/35] x86, lmb: Add get_free_all_memory_range()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 11/35] lmb: Add find_memory_core_early()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 12/35] x86, lmb: Add lmb_find_area_node()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 13/35] x86, lmb: Add lmb_free_memory_size()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 14/35] x86, lmb: Add lmb_memory_size()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 17/35] x86, lmb: Add x86 version of __lmb_find_area()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 18/35] x86: Use lmb to replace early_res
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 19/35] x86: Replace e820_/_early string with lmb_
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 20/35] x86: Remove not used early_res code
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 22/35] bootmem: Add nobootmem.c to reduce the #ifdef
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 23/35] mm: move contig_page_data define to bootmem. ...
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 24/35] lmb: Move __alloc_memory_core_early() to nob ...
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 25/35] x86: Have nobootmem version setup_bootmem_al ...
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 27/35] swiotlb: Use page alignment for early buffer ...
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 28/35] x86: Add sanitize_e820_map()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 29/35] x86: Change e820_saved to __initdata
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 30/35] x86: Align e820 ram range to page
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 31/35] x86: Use wake_system_ram_range() instead of ...
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 32/35] x86: Add get_centaur_ram_top()
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 33/35] x86: Change e820_any_mapped() to __init
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 34/35] x86: Use walk_system_ream_range() instead of ...
, Yinghai Lu
, (Thu May 13, 5:19 pm)
[PATCH 35/35] x86: make e820 to be __initdata
, Yinghai Lu
, (Thu May 13, 5:19 pm)
Re: [PATCH 04/35] lmb: Add lmb_find_area()
, Benjamin Herrenschmidt
, (Thu May 13, 7:16 pm)
Re: [PATCH 08/35] x86,lmb: Add lmb_reserve_area/lmb_free_area
, Benjamin Herrenschmidt
, (Thu May 13, 7:26 pm)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, Benjamin Herrenschmidt
, (Thu May 13, 7:29 pm)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, Benjamin Herrenschmidt
, (Thu May 13, 7:30 pm)
Re: [PATCH 13/35] x86, lmb: Add lmb_free_memory_size()
, Benjamin Herrenschmidt
, (Thu May 13, 7:31 pm)
Re: [PATCH 14/35] x86, lmb: Add lmb_memory_size()
, Benjamin Herrenschmidt
, (Thu May 13, 7:31 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Benjamin Herrenschmidt
, (Thu May 13, 7:32 pm)
Re: [PATCH 17/35] x86, lmb: Add x86 version of __lmb_find_ ...
, Benjamin Herrenschmidt
, (Thu May 13, 7:34 pm)
Re: [PATCH 24/35] lmb: Move __alloc_memory_core_early() to ...
, Benjamin Herrenschmidt
, (Thu May 13, 7:36 pm)
Re: [PATCH 04/35] lmb: Add lmb_find_area()
, Yinghai
, (Thu May 13, 11:25 pm)
Re: [PATCH 08/35] x86,lmb: Add lmb_reserve_area/lmb_free_area
, Yinghai
, (Thu May 13, 11:30 pm)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, Yinghai
, (Thu May 13, 11:34 pm)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, Yinghai
, (Thu May 13, 11:39 pm)
Re: [PATCH 13/35] x86, lmb: Add lmb_free_memory_size()
, Yinghai
, (Thu May 13, 11:42 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Yinghai
, (Thu May 13, 11:44 pm)
Re: [PATCH 17/35] x86, lmb: Add x86 version of __lmb_find_ ...
, Yinghai
, (Thu May 13, 11:47 pm)
Re: [PATCH 04/35] lmb: Add lmb_find_area()
, Benjamin Herrenschmidt
, (Fri May 14, 1:12 am)
Re: [PATCH 08/35] x86,lmb: Add lmb_reserve_area/lmb_free_area
, Benjamin Herrenschmidt
, (Fri May 14, 1:15 am)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, Benjamin Herrenschmidt
, (Fri May 14, 1:16 am)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, Benjamin Herrenschmidt
, (Fri May 14, 1:19 am)
Re: [PATCH 13/35] x86, lmb: Add lmb_free_memory_size()
, Benjamin Herrenschmidt
, (Fri May 14, 1:21 am)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Benjamin Herrenschmidt
, (Fri May 14, 1:30 am)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, David Miller
, (Fri May 14, 1:30 am)
Re: [PATCH 17/35] x86, lmb: Add x86 version of __lmb_find_ ...
, Benjamin Herrenschmidt
, (Fri May 14, 1:31 am)
Re: [PATCH 04/35] lmb: Add lmb_find_area()
, Yinghai Lu
, (Fri May 14, 9:28 am)
Re: [PATCH 13/35] x86, lmb: Add lmb_free_memory_size()
, Yinghai Lu
, (Fri May 14, 9:37 am)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Yinghai Lu
, (Fri May 14, 9:40 am)
Re: [PATCH 17/35] x86, lmb: Add x86 version of __lmb_find_ ...
, Yinghai Lu
, (Fri May 14, 9:41 am)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, Yinghai Lu
, (Fri May 14, 9:44 am)
Re: [PATCH 13/35] x86, lmb: Add lmb_free_memory_size()
, Benjamin Herrenschmidt
, (Fri May 14, 3:20 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Benjamin Herrenschmidt
, (Fri May 14, 3:30 pm)
Re: [PATCH 11/35] lmb: Add find_memory_core_early()
, Benjamin Herrenschmidt
, (Fri May 14, 3:34 pm)
lmb type features.
, Yinghai
, (Fri May 14, 4:51 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Ingo Molnar
, (Sat May 15, 12:32 am)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Benjamin Herrenschmidt
, (Sun May 16, 5:39 pm)
Re: lmb type features.
, Benjamin Herrenschmidt
, (Sun May 16, 5:46 pm)
Re: lmb type features.
, Yinghai
, (Sun May 16, 11:06 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Yinghai
, (Sun May 16, 11:11 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, H. Peter Anvin
, (Sun May 16, 11:40 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Benjamin Herrenschmidt
, (Mon May 17, 12:24 am)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Yinghai
, (Mon May 17, 10:18 am)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, H. Peter Anvin
, (Mon May 17, 11:53 am)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Benjamin Herrenschmidt
, (Mon May 17, 3:01 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, Yinghai
, (Mon May 17, 3:19 pm)
Re: [PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
, H. Peter Anvin
, (Mon May 17, 3:26 pm)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Greg KH
Og dreams of kernels
Jens Axboe
[PATCH 31/33] Fusion: sg chaining support
Arnd Bergmann
Re: finding your own dead "CONFIG_" variables
Mark Brown
[PATCH 2/2] Subject: natsemi: Allow users to disable workaround for DspCfg reset
Tony Breeds
[LGUEST] Look in object dir for .config
git
:
Brian Downing
Re: Git in a Nutshell guide
John Benes
Re: master has some toys
Matthias Lederhofer
[PATCH 4/7] introduce GIT_WORK_TREE to specify the work tree
Alexander Sulfrian
[RFC/PATCH] RE: git calls SSH_ASKPASS even if DISPLAY is not set
Junio C Hamano
Re: Rss produced by git is not valid xml?
git-commits-head
:
Linux Kernel Mailing List
iSeries: fix section mismatch in iseries_veth
Linux Kernel Mailing List
ixbge: remove TX lock and redo TX accounting.
Linux Kernel Mailing List
ixgbe: fix several counter register errata
Linux Kernel Mailing List
b43: fix build with CONFIG_SSB_PCIHOST=n
Linux Kernel Mailing List
9p: block-based virtio client
linux-netdev
:
Michael Breuer
Re: [PATCH] af_packet: Don't use skb after dev_queue_xmit()
Michael Breuer
Re: [PATCH] af_packet: Don't use skb after dev_queue_xmit()
David Daney
[PATCH 5/7] Staging: Octeon Ethernet: Convert to NAPI.
Wolfgang Grandegger
[PATCH net-next v4 1/3] can: mscan: fix improper return if dlc < 8 in start_xmi...
Amit Kumar Salecha
[PATCHv3 NEXT 2/2] NET: Add Qlogic ethernet driver for CNA devices
openbsd-misc
:
Theo de Raadt
Re: Old IPSEC bug
Tomáš Bodžár
Problem with vpnc connection - check group password !
Insan Praja SW
Mandoc Compiling Error
Carl Roberso
Re: Cannot change MTU of carp interface?
Richard Daemon
Re: booting openbsd on eee without cd-rom
Colocation donated by:
Syndicate