login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2010
»
April
»
1
Re: [PATCH -v3] nobootmem/bootmem, x86: Fix 32bit numa system without RAM on Node0
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: H. Peter Anvin
Subject:
Re: [PATCH -v3] nobootmem/bootmem, x86: Fix 32bit numa system without RAM on Node0
Date: Wednesday, March 31, 2010 - 8:18 pm
Please address the separate bug fix in a separate patch. "Yinghai Lu" <yinghai@kernel.org> wrote:
quoted text
> >on one system without RAM on nod0, got following dump with 32bit numa kernel > >early_node_map[4] active PFN ranges > 1: 0x00000010 -> 0x00000099 > 1: 0x00000100 -> 0x0007da00 > 1: 0x0007e800 -> 0x0007ffa0 > 1: 0x0007ffae -> 0x0007ffb0 > >Subtract (29 early reservations) > #000 [0000001000 - 0000002000] > #001 [0000089000 - 000008f000] > #002 [0000091000 - 0000093500] > #003 [0000094000 - 0000099000] > #004 [0000099400 - 0000100000] > #005 [0000200000 - 0000eb7644] > #006 [0000eb8000 - 0000ec327c] > #007 [007c400000 - 007c40e000] > #008 [007c440000 - 007c44e000] > #009 [007c480000 - 007c48e000] > #010 [007c4c0000 - 007c4ce000] > #011 [007c500000 - 007c50e000] > #012 [007c540000 - 007c54e000] > #013 [007c580000 - 007c58e000] > #014 [007c5c0000 - 007c5ce000] > #015 [007c674000 - 007cbfe000] > #016 [007cbfe500 - 007cbfe530] > #017 [007cbfe540 - 007cbfe5d0] > #018 [007cbfe600 - 007cbfe620] > #019 [007cbfe640 - 007cbfe660] > #020 [007cbfe680 - 007cbfe684] > #021 [007cbfe6c0 - 007cbfe6c4] > #022 [007cbfe700 - 007cbfe77e] > #023 [007cbfe780 - 007cbfe7fe] > #024 [007cbfe800 - 007cbfec54] > #025 [007cbfec80 - 007cbfeede] > #026 [007cbfef00 - 007cbfef2d] > #027 [007cbfef40 - 007e800000] > #028 [007e9ca000 - 007ff95000] >(0 free memory ranges) >Initializing HighMem for node 0 (00000000:00000000) >Initializing HighMem for node 1 (00000000:00000000) >Memory: 0k/2096832k available (6662k kernel code, 2096300k reserved, 4829k data, 484k init, 0k highmem) >virtual kernel memory layout: > fixmap : 0xff637000 - 0xfffff000 (10016 kB) > pkmap : 0xff200000 - 0xff400000 (2048 kB) > vmalloc : 0xc07b0000 - 0xff1fe000 (1002 MB) > lowmem : 0x40000000 - 0xbffb0000 (2047 MB) > .init : 0x40d39000 - 0x40db2000 ( 484 kB) > .data : 0x40881924 - 0x40d38e1c (4829 kB) > .text : 0x40200000 - 0x40881924 (6662 kB) >Checking if this processor honours the WP bit even in supervisor mode...Ok. >swapper: page allocation failure. order:0, mode:0x0 >Pid: 0, comm: swapper Not tainted 2.6.34-rc3-tip-03818-g4b1ea6c-dirty #35 >Call Trace: > [<4087a5dc>] ? printk+0xf/0x11 > [<40286728>] __alloc_pages_nodemask+0x417/0x487 > [<402a9ce1>] new_slab+0xe2/0x1fe > [<402aa5b2>] kmem_cache_open+0x185/0x358 > [<402abbc0>] T.954+0x1c/0x60 > [<40d52a29>] kmem_cache_init+0x24/0x113 > [<40d39738>] start_kernel+0x166/0x2e4 > [<40d3940e>] ? unknown_bootoption+0x0/0x18e > [<40d390ce>] i386_start_kernel+0xce/0xd5 >Mem-Info: >Node 1 DMA per-cpu: >CPU 0: hi: 0, btch: 1 usd: 0 >Node 1 Normal per-cpu: >CPU 0: hi: 0, btch: 1 usd: 0 >active_anon:0 inactive_anon:0 isolated_anon:0 > active_file:0 inactive_file:0 isolated_file:0 > unevictable:0 dirty:0 writeback:0 unstable:0 > free:0 slab_reclaimable:0 slab_unreclaimable:0 > mapped:0 shmem:0 pagetables:0 bounce:0 > >When 32bit numa is used, free_all_bootmem() will still only go over with >node id 0. > >If node 0 doesn't have RAM installed, We need to go with node1 >because early_node_map still use 1 for all ranges, and ram from node1 >become low ram. > >Try to use MAX_NUMNODES like 64 numa does. > >Also fixes BOOTMEM path by loop bdata_list. >Note: this bug exist before We have NO_BOOTMEM support. > >-v3: add more comments, and fix bootmem path too. > >Signed-off-by: Yinghai Lu <yinghai@kernel.org> > >--- > mm/bootmem.c | 17 +++++++++++++++-- > 1 file changed, 15 insertions(+), 2 deletions(-) > >Index: linux-2.6/mm/bootmem.c >=================================================================== >--- linux-2.6.orig/mm/bootmem.c >+++ linux-2.6/mm/bootmem.c >@@ -303,9 +303,22 @@ unsigned long __init free_all_bootmem_no > unsigned long __init free_all_bootmem(void) > { > #ifdef CONFIG_NO_BOOTMEM >- return free_all_memory_core_early(NODE_DATA(0)->node_id); >+ /* >+ * We need to use MAX_NUMNODES instead of NODE_DATA(0)->node_id >+ * because in some case like Node0 doesnt have RAM installed >+ * low ram will be on Node1 >+ * Use MAX_NUMNODES will make sure all ranges in early_node_map[] >+ * will be used instead of only Node0 related >+ */ >+ return free_all_memory_core_early(MAX_NUMNODES); > #else >- return free_all_bootmem_core(NODE_DATA(0)->bdata); >+ unsigned long total_pages = 0; >+ bootmem_data_t *bdata; >+ >+ list_for_each_entry(bdata, &bdata_list, list) >+ total_pages = free_all_bootmem_core(bdata); >+ >+ return total_pages; > #endif > } >
-- Sent from my mobile phone, pardon any lack of formatting.
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
Config NO_BOOTMEM breaks my amd64 box
, James Morris
, (Tue Mar 30, 9:49 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, H. Peter Anvin
, (Tue Mar 30, 11:26 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, James Morris
, (Tue Mar 30, 11:47 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Stefan Richter
, (Wed Mar 31, 3:51 am)
Re: Config NO_BOOTMEM breaks my amd64 box
, Yinghai Lu
, (Wed Mar 31, 9:25 am)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Wed Mar 31, 11:59 am)
Re: Config NO_BOOTMEM breaks my amd64 box
, Dave Airlie
, (Wed Mar 31, 1:57 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Linus Torvalds
, (Wed Mar 31, 2:02 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Dave Airlie
, (Wed Mar 31, 2:14 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Wed Mar 31, 2:40 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Wed Mar 31, 2:47 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Yinghai Lu
, (Wed Mar 31, 3:02 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Yinghai Lu
, (Wed Mar 31, 3:05 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Wed Mar 31, 3:13 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Yinghai Lu
, (Wed Mar 31, 3:16 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, H. Peter Anvin
, (Wed Mar 31, 3:28 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Wed Mar 31, 3:41 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Yinghai Lu
, (Wed Mar 31, 3:47 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Wed Mar 31, 3:56 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, James Morris
, (Wed Mar 31, 3:58 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Wed Mar 31, 4:02 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, H. Peter Anvin
, (Wed Mar 31, 4:34 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, H. Peter Anvin
, (Wed Mar 31, 4:35 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, James Morris
, (Wed Mar 31, 4:43 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, H. Peter Anvin
, (Wed Mar 31, 4:48 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Yinghai Lu
, (Wed Mar 31, 4:54 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Johannes Weiner
, (Wed Mar 31, 5:01 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, H. Peter Anvin
, (Wed Mar 31, 5:35 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, James Morris
, (Wed Mar 31, 6:00 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Yinghai Lu
, (Wed Mar 31, 6:07 pm)
[PATCH -v3] nobootmem/bootmem, x86: Fix 32bit numa system ...
, Yinghai Lu
, (Wed Mar 31, 7:02 pm)
Re: [PATCH -v3] nobootmem/bootmem, x86: Fix 32bit numa sys ...
, H. Peter Anvin
, (Wed Mar 31, 8:18 pm)
Re: [PATCH -v3] nobootmem/bootmem, x86: Fix 32bit numa sys ...
, Yinghai Lu
, (Wed Mar 31, 8:30 pm)
[PATCH -v4 1/2] nobootmem, x86: Fix 32bit numa system with ...
, Yinghai Lu
, (Wed Mar 31, 8:44 pm)
[PATCH -v4 2/2] bootmem, x86: Fix 32bit numa system withou ...
, Yinghai Lu
, (Wed Mar 31, 8:45 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Thu Apr 1, 5:52 am)
[tip:x86/urgent] nobootmem, x86: Fix 32bit numa system wit ...
, tip-bot for Yinghai Lu
, (Thu Apr 1, 3:57 pm)
[tip:x86/urgent] bootmem, x86: Fix 32bit numa system witho ...
, tip-bot for Yinghai Lu
, (Thu Apr 1, 3:57 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Wed Apr 7, 11:32 pm)
Re: Config NO_BOOTMEM breaks my amd64 box
, Yinghai
, (Thu Apr 8, 12:00 am)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Thu Apr 8, 12:27 am)
Re: Config NO_BOOTMEM breaks my amd64 box
, James Morris
, (Thu Apr 8, 1:05 am)
Re: Config NO_BOOTMEM breaks my amd64 box
, Ingo Molnar
, (Thu Apr 8, 1:22 am)
Re: Config NO_BOOTMEM breaks my amd64 box
, Dave Airlie
, (Thu Apr 8, 7:43 pm)
Navigation
Create content
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
swhiteho
[PATCH 42/51] [GFS2] Move inode deletion out of blocking_cb
FUJITA Tomonori
Re: [Scst-devel] Integration of SCST in the mainstream Linux kernel
Matthew
Re: Linux 2.6.25
Alex Riesen
Re: [PATCH 4/7] lib: Introduce strnstr()
Alexey Dobriyan
Re: [2.6.22.2 review 09/84] Fix rfkill IRQ flags.
git
:
Mike Miller
git message
David Bremner
Commit f5bbc322 to git broke pre-commit hooks which read stdin
Stefan Richter
Re: [kernel.org users] [RFD] On deprecating "git-foo" for builtins
Jeff King
Re: [PATCH] t7004: test that "git-tag -u" implies "-s"
Christian MICHON
Re: VCS comparison table
linux-netdev
:
Arnaldo Carvalho de Melo
Re: [PATCH 06/37] dccp: Limit feature negotiation to connection setup phase
David Miller
Re: 2.6.27.18: bnx2/tg3: BUG: "scheduling while atomic" trying to ifenslave a seco...
Badalian Vyacheslav
Re: tc filter flow hash question
Parav Pandit
ip6 route output() and ip_route_output_key() by drivers
Jarek Poplawski
Re: tc filter flow hash question
git-commits-head
:
Linux Kernel Mailing List
i915: Don't whine when pci_enable_msi() fails.
Linux Kernel Mailing List
usb: musb: fix hanging when rmmod gadget driver
Linux Kernel Mailing List
[ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations
Linux Kernel Mailing List
Staging: wlan-ng: Move wlan_mkprintstr() and wlan_hexchar() macros into prism2sta.c
Linux Kernel Mailing List
NFSv4: Move error handling out of the delegation generic code
openbsd-misc
:
Vikas N Kumar
Re: Singularity OS
Marco Peereboom
Re: OpenBSD culture?
ropers
Re: Real men don't attack straw men
"RALOVICH, Kristóf"
Re: thinkpad windows refund
Kevin
Re: uvm_mapent_alloc: out of static map entries on 4.3 i386
Colocation donated by:
Syndicate