Messages in this thread | | | Date | Fri, 24 Aug 2007 15:52:34 +0100 | Subject | Re: [PATCH] Fix find_next_best_node (Re: [BUG] 2.6.23-rc3-mm1 Kernel panic - not syncing: DMA: Memory would be corrupted) | From | (Mel Gorman) |
| |
On (24/08/07 15:53), Yasunori Goto didst pronounce: > > I found find_next_best_node() was wrong. > I confirmed boot up by the following patch. > Mel-san, Kamalesh-san, could you try this? >
This boots the IA-64 successful and gets rid of that DMA corrupts memory message. As a bonus, it fixes up the memoryless nodes (the bug where Total pages == 0 and there is a BUG in page_alloc.c) by building zonelists properly. The machine still fails to boot with the more familiar net/core/skbuff.c:95 but that is a separate problem.
Well spotted Yasunori-san.
Andrew, this fixes a real problem and should be considered a fix to memoryless-nodes-fixup-uses-of-node_online_map-in-generic-code.patch unless Christoph Lameter objects.
> Bye. > --- > > Fix decision of memoryless node in find_next_best_node(). > This can be cause of SW-IOMMU's allocation failure. > > This patch is for 2.6.23-rc3-mm1. > > Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com> >
Acked-by: Mel Gorman <mel@csn.ul.ie>
> --- > mm/page_alloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: current/mm/page_alloc.c > =================================================================== > --- current.orig/mm/page_alloc.c 2007-08-24 16:03:17.000000000 +0900 > +++ current/mm/page_alloc.c 2007-08-24 16:04:06.000000000 +0900 > @@ -2136,7 +2136,7 @@ static int find_next_best_node(int node, > * Note: N_HIGH_MEMORY state not guaranteed to be > * populated yet. > */ > - if (pgdat->node_present_pages) > + if (!pgdat->node_present_pages) > continue; > > /* Don't want a node to appear more than once */ >
-- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab - 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/
| |