Re: 2.4.10pre11 vm rewrite fixes for mainline inclusion and testing

From: Andrew Morton (akpm@zip.com.au)
Date: Thu Sep 20 2001 - 00:58:15 EST


With this patch against -pre12 the BUG()s in shrink_cache()
go away.

--- linux-2.4.10-pre12/mm/vmscan.c Wed Sep 19 20:47:21 2001
+++ linux-akpm/mm/vmscan.c Wed Sep 19 22:49:48 2001
@@ -435,15 +435,20 @@ static int shrink_cache(struct list_head
 
                         if (try_to_free_buffers(page, gfp_mask)) {
                                 if (!page->mapping) {
- UnlockPage(page);
-
                                         /*
                                          * Account we successfully freed a page
                                          * of buffer cache.
                                          */
                                         atomic_dec(&buffermem_pages);
 
+ /*
+ * We must not allow an anon page
+ * with no buffers to be visible on
+ * the LRU, so we unlock the page after
+ * taking the lru lock
+ */
                                         spin_lock(&pagemap_lru_lock);
+ UnlockPage(page);
                                         __lru_cache_del(page);
 
                                         /* effectively free the page here */

With this patch applied I've had three total system lockups with
the usual workload. No diagnostics, no interrupts, NMI watchdog
doesn't catch it. Nice. This is not related to networking; I
wasn't able to do much network stress testing because the
darn APIC bug kept biting me. Grumble.

I'll try -pre9.
-
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/



This archive was generated by hypermail 2b29 : Sun Sep 23 2001 - 21:00:36 EST