Messages in this thread | | | Date | Fri, 26 Jun 2009 13:21:25 +1000 | From | Greg Ungerer <> | Subject | Re: [uClinux-dev] Coldfire 5271 hitting BUG_ON(page_count(buddy) != 0); |
| |
Hi Lennart,
Lennart Sorensen wrote: > I am hitting a memory management bug and I would love some hints as to > how to track down the bug and fix it. > > The bug hit is line 423 of page_alloc.c which is: > > BUG_ON(page_count(buddy) != 0); > > The function it is part of is: > > static inline int page_is_buddy(struct page *page, struct page *buddy, > int order) > { > if (!pfn_valid_within(page_to_pfn(buddy))) > return 0; > > if (page_zone_id(page) != page_zone_id(buddy)) > return 0; > > if (PageBuddy(buddy) && page_order(buddy) == order) { > BUG_ON(page_count(buddy) != 0); > return 1; > } > return 0; > } > > I am seeing this both with 2.6.29.1 and 2.6.30 so far. I unfortunately > haven't poked much at the memory management code, so I am not even sure > what this is supposed to be doing. The cpu us a coldfire 5271. > > I also see crashes causing the kernel to dump lots of hex values. > Building the kernel with debug enabled unfortunately seems to move things > around enough to make it just lock up instead without any output.
What are you doing at the time you get this? Or is it at bootup?
Regards Greg
------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com SnapGear Group, McAfee PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
| |