Messages in this thread Patch in this message | | | From | Emiliano Gabrielli <> | Subject | Re: [PATCH] kernel BUG at page_alloc.c:220 - oops in 2.4.19 | Date | Fri, 18 Oct 2002 12:18:33 +0200 |
| |
On 02:39, venerdì 18 ottobre 2002, Gadad, Vijay wrote: > I'm seeing an intermittent oops on a heavily loaded SMP system (Compaq > DL360 G2). I've read the messages suggesting this is related to the nvidia > driver, but I don't have that loaded. > > This is the vanilla 2.4.19 kernel, plus Intel's e1000.o driver and the ipvs > patch. > > Here's the ksymoops output: > > > > > kernel BUG at page_alloc.c:220! > invalid operand: 0000 > CPU: 1 > EIP: 0010:[rmqueue+509/592] Not tainted
this may be a patch:
[albert@yoda albert]$ diff -ruN page_alloc.c new_page_alloc.c --- page_alloc.c +++ new_page_alloc.c @@ -167,7 +167,7 @@ #define MARK_USED(index, order, area) \ __change_bit((index) >> (1+(order)), (area)->map)
-static inline struct page * expand (zone_t *zone, struct page *page, +static inline struct page * expand(zone_t *zone, struct page *page, unsigned long index, int low, int high, free_area_t * area) { unsigned long size = 1 << high; @@ -215,7 +215,6 @@ zone->free_pages -= 1UL << order;
page = expand(zone, page, index, order, curr_order, area); - spin_unlock_irqrestore(&zone->lock, flags);
set_page_count(page, 1); if (BAD_RANGE(zone,page)) @@ -224,6 +223,7 @@ BUG(); if (PageActive(page)) BUG(); + spin_unlock_irqrestore(&zone->lock, flags); return page; } curr_order++;
__
Emiliano 'AlberT' Gabrielli
- 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/
| |