Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S266377AbVBDQRd (ORCPT ); Fri, 4 Feb 2005 11:17:33 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261622AbVBDQRc (ORCPT ); Fri, 4 Feb 2005 11:17:32 -0500 Received: from mailman2.ppco.com ([138.32.33.140]:22916 "EHLO mailman2.ppco.com") by vger.kernel.org with ESMTP id S266377AbVBDQQY convert rfc822-to-8bit (ORCPT ); Fri, 4 Feb 2005 11:16:24 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT Subject: RE: 2.6.10: kswapd spins like crazy Date: Fri, 4 Feb 2005 10:16:22 -0600 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: 2.6.10: kswapd spins like crazy Thread-Index: AcUKWgPN9Dd1I+xBQamySf0EjMDjwQAd7F2Q From: "Weathers, Norman R." To: X-OriginalArrivalTime: 04 Feb 2005 16:16:22.0717 (UTC) FILETIME=[DE3336D0:01C50AD4] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 9254 Lines: 217 We have had a similar problem with all kernels since 2.6.8.1. It has gotten so bad that we had to drop back to 2.6.7 with some extra patches to get our systems working. Our situation is a little bit different. We are using smp Opteron boxes as NFS servers. Under almost any load at all, kswapd goes nuts, taking up 99 % of the CPU cycles for long periods of time. With 2.6.7, this has not been noticed as bad (just periods of about 3 - 5 seconds of 10 - 35 % utilized, then off for a few seconds, then back again. Sometimes kswapd lingers longer as the most aggressive app in top, but with 2.6.7, the nfsd's are the most prevalent). Also, we have noticed something else. Our servers have dual Broadcom gigabit nics (Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 03)). We have bonded both NICS back to our core switch, both running at gigabit speed. Under different loads, we start to get call traces in dmesg and the syslog. An excerpt follows: Call Trace: {__alloc_pages+816} {del_timer+115} {__get_free_pages+16} {kmem_getpages+38} {cache_grow+190} {cache_alloc_refill+422} {kmem_cache_alloc+54} {dst_alloc+47} {ip_route_input_slow+1639} {udp_rcv+267} {ip_rcv+526} {netif_receive_skb+477} {:bcm5700:MM_IndicateRxPackets+920} {:bcm5700:bcm5700_poll+158} {net_rx_action+132} {__do_softirq+113} {do_softirq+53} {do_IRQ+335} {ret_from_intr+0} {thread_return+41} {default_idle+0} {default_idle+36} {cpu_idle+44} {start_kernel+453} swapper: page allocation failure. order:0, mode:0x20 Call Trace: {__alloc_pages+816} {end_8259A_irq+100} {__get_free_pages+16} {kmem_getpages+38} {cache_grow+190} {cache_alloc_refill+422} {kmem_cache_alloc+54} {dst_alloc+47} {ip_route_input_slow+1639} {ip_rcv+526} {try_to_wake_up+523} {netif_receive_skb+477} {:bcm5700:MM_IndicateRxPackets+920} {:bcm5700:bcm5700_poll+158} {net_rx_action+132} {__do_softirq+113} {do_softirq+53} {do_IRQ+335} {ret_from_intr+0} {thread_return+41} {default_idle+0} {default_idle+36} {cpu_idle+44} {start_kernel+453} swapper: page allocation failure. order:0, mode:0x20 Call Trace: {__alloc_pages+816} {end_8259A_irq+100} {__get_free_pages+16} {kmem_getpages+38} {cache_grow+190} {cache_alloc_refill+422} {kmem_cache_alloc+54} {dst_alloc+47} {ip_route_input_slow+1639} {udp_rcv+267} {ip_rcv+526} {netif_receive_skb+477} {:bcm5700:MM_IndicateRxPackets+920} {:bcm5700:bcm5700_poll+158} {net_rx_action+132} {__do_softirq+113} {do_softirq+53} {do_IRQ+335} {ret_from_intr+0} {thread_return+41} {default_idle+0} {default_idle+36} {cpu_idle+44} {start_kernel+453} swapper: page allocation failure. order:0, mode:0x20 Call Trace: {__alloc_pages+816} {end_8259A_irq+100} {__get_free_pages+16} {kmem_getpages+38} {cache_grow+190} {cache_alloc_refill+422} {kmem_cache_alloc+54} {dst_alloc+47} {ip_route_input_slow+1639} {ip_rcv+526} {netif_receive_skb+477} {:bcm5700:MM_IndicateRxPackets+920} {:bcm5700:bcm5700_poll+158} {net_rx_action+132} {__do_softirq+113} {do_softirq+53} {do_IRQ+335} {ret_from_intr+0} {thread_return+41} {default_idle+0} {default_idle+36} {cpu_idle+44} {start_kernel+453} swapper: page allocation failure. order:0, mode:0x20 Call Trace: {__alloc_pages+816} {__get_free_pages+16} {kmem_getpages+38} {cache_grow+190} {cache_alloc_refill+422} {kmem_cache_alloc+54} {dst_alloc+47} {ip_route_input_slow+1639} {ip_rcv+526} {netif_receive_skb+477} This was just a partial listing from one of our servers. I had read in several lists that this was not considered fatal. The problem is that with our setup, it has turned fatal, to the point of locking out the system remotely, and only a reset from the machine itself able to work (didn't even honor the sysrq-b combo at the console). Has anyone else run into this? I can get this kind of error using about 20 clients (100 MB connected) hitting one server (dual gigabit bonded). With 2.6.8.1 and newer, the errors are reproducible, but I can't exactly tell when they happen (either write or read). I think I have seen them happen in both writes and reads. And the kswapd problems happened during writes and reads both as well. I can also get the kswapd going crazy with a local set of disk I/O tests. Any information needed, please ask. Any help would be appreciated. Thanks, Norman Weathers -----Original Message----- From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of Nick Piggin Sent: Thursday, February 03, 2005 7:20 PM To: Andrew Morton Cc: terje_fb@yahoo.no; linux-kernel@vger.kernel.org; torvalds@osdl.org Subject: Re: 2.6.10: kswapd spins like crazy Andrew Morton wrote: > Nick Piggin wrote: > >>Oh, attached should be a minimal fix if you would like to try it out. >> >> >>... >>--- linux-2.6/mm/vmscan.c~vmscan-minfix 2005-02-04 11:52:37.000000000 +1100 >>+++ linux-2.6-npiggin/mm/vmscan.c 2005-02-04 11:53:32.000000000 +1100 >>@@ -575,6 +575,7 @@ static void shrink_cache(struct zone *zo >> nr_taken++; >> } >> zone->nr_inactive -= nr_taken; >>+ zone->pages_scanned += nr_scan; >> spin_unlock_irq(&zone->lru_lock); >> >> if (nr_taken == 0) >> > > > Any theories as to why these pages aren't being activated and aren't being > reclaimed? > > No none yet, which is what we should get to the bottom of. I must be overlooking something, but the only ways I can see should be due to transient conditions like page locked or under writeback. laptop_mode? Terje, what is /proc/sys/vm/laptop_mode set to? - 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/ - 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/