Additional note on the oops trace I just sent. Here is an excerpt of
mm/page_alloc.c, the "Bug" output marked for line 91:
static void FASTCALL(__free_pages_ok (struct page *page, unsigned int
order));
static void __free_pages_ok (struct page *page, unsigned int order)
{
unsigned long index, page_idx, mask, flags;
free_area_t *area;
struct page *base;
zone_t *zone;
/* Yes, think what happens when other parts of the kernel take
* a reference to a page in order to pin it for io. -ben
*/
if (PageLRU(page))
lru_cache_del(page);
if (page->buffers)
BUG();
if (page->mapping)
line 91 HERE-> BUG(); // LINE 91, oops "bug" output.
if (!VALID_PAGE(page))
BUG();
if (PageLocked(page))
BUG();
if (PageActive(page))
BUG();
page->flags &= ~((1<<PG_referenced) | (1<<PG_dirty));
D. Stimits, stimits @ idcomm.com
|