Hi, Yasunori Goto <y-goto@jp.fujitsu.com> writes:I think I found it. This check is backwards and probably made your boot fail. Changed this to break, because we don't need to search any further if the current node already starts at/above the limit (remember, we walk a list sorted by ->node_boot_start here). I also made the checks more intuitively understandable. Could you try the following fix on top of this patch? Hannes --- a/mm/bootmem.c +++ b/mm/bootmem.c @@ -513,10 +513,10 @@ restart: list_for_each_entry(bdata, &bdata_list, list) { void *region; - if (goal && goal < bdata->node_boot_start) - continue; - if (limit && limit < bdata->node_boot_start) + if (goal && bdata->node_low_pfn <= PFN_DOWN(goal)) continue; + if (limit && bdata->node_boot_start >= limit) + break; region = alloc_bootmem_core(bdata, size, align, goal, limit); if (region) --
| Ingo Molnar | Re: containers (was Re: -mm merge plans for 2.6.23) |
| Greg Kroah-Hartman | [PATCH 009/196] Chinese: add translation of sparse.txt |
| holzheu | Re: [RFC/PATCH] Documentation of kernel messages |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Antonio Almeida | HTB accuracy for high speed |
