Hi
>>> EIP; c0138799 <__free_pages_ok+49/324> <=====
ralf> Trace; c021a8c8 <tvecs+2e40/14ef8>
ralf> Trace; c021ab55 <tvecs+30cd/14ef8>
ralf> Trace; c012dc2b <shrink_mmap+457/5c8>
ralf> Trace; c013823b <do_try_to_free_pages+33/98>
ralf> Trace; c0138333 <kswapd+93/1b0>
ralf> Trace; c010907b <kernel_thread+23/30>
I get here similar Oops. They happened after a BUG in
page_alloc.c. Is that your case also? I am very interested in
knowing the answer. Are you using a pre6-x, x<6? In the case
that your Oops are very easily reproducible, could you try this
small patch and tell me if it solves the problem. It solves the
problem here, (yes I know that it is not the proper solution,
but I am interested in knowing if it solves your problems also).
Thanks, Juan.
diff -u -urN --exclude=CVS --exclude=*~ --exclude=.#* 2.3.99-pre6-5/mm/filemap.c 2.3.99-pre6-boot/mm/filemap.c
--- 2.3.99-pre6-5/mm/filemap.c Tue Apr 4 01:18:56 2000
+++ 2.3.99-pre6-boot/mm/filemap.c Sun Apr 23 17:48:42 2000
@@ -467,8 +467,9 @@
struct page *alias;
unsigned long flags;
+ LockPage(page);
flags = page->flags & ~((1 << PG_uptodate) | (1 << PG_error) | (1 << PG_dirty));
- page->flags = flags | (1 << PG_locked) | (1 << PG_referenced);
+ page->flags = flags | (1 << PG_referenced);
get_page(page);
page->index = offset;
add_page_to_inode_queue(mapping, page);
-- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:11 EST