Messages in this thread Patch in this message |  | | Date | Wed, 19 Sep 2001 22:58:15 -0700 | From | Andrew Morton <> | Subject | Re: 2.4.10pre11 vm rewrite fixes for mainline inclusion and testing |
| |
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/
|  |