Sender: akpm@vasquez.zip.com.au Message-ID: <3BA98577.3F0A3D5A@zip.com.au> Date: Wed, 19 Sep 2001 22:58:15 -0700 From: Andrew Morton X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.4.9-ac12 i686) X-Accept-Language: en MIME-Version: 1.0 To: Andrea Arcangeli Cc: Linus Torvalds , linux-kernel@vger.kernel.org, marcelo@conectiva.com.br Subject: Re: 2.4.10pre11 vm rewrite fixes for mainline inclusion and testing References: <20010918224317.E720@athlon.random> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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.