From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jarek Poplawski Subject: Re: Oops in 2.6.21-rc4, 2.6.23 Date: Mon, 29 Oct 2007 09:42:32 +0100 Message-ID: <20071029084232.GA2280@ff.dom.local> References: <20071015173956.6c554387@beavis.confused.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: netdev@vger.kernel.org To: "Darko K\." Return-path: Received: from mx10.go2.pl ([193.17.41.74]:43537 "EHLO poczta.o2.pl" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752167AbXJ2IjD (ORCPT ); Mon, 29 Oct 2007 04:39:03 -0400 Content-Disposition: inline In-Reply-To: <20071015173956.6c554387@beavis.confused.org> Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 15-10-2007 17:39, Darko K. wrote: > Hello, > > after recent upgrade to kernel 2.6.23 (from 2.6.20) I have started > seeing kernel oops-es in networking code. The problem is 100% > reproducible in my environment. I've seen two slightly different > backtraces but both seem to be caused by the same commit. Please > put me on Cc: on replies. > > I've performed the git bisect and tracked down the problem to the > commit: > > 53cdcc04c1e85d4e423b2822b66149b6f2e52c2c [TCP]: Fix tcp_mem[] > initialization > > Once I reverse this commit in 2.6.23 the problem goes away (this > is true also for the kernel version generated by git bisect, > 2.6.21-rc4). > > Description of my machine: Athlon XP1700, VIA KT-333 chipset, 512MB > RAM, VIA rhine on-board NIC. The problem appears when approximately > 70% of RAM is in use and I start a large file transfer (via FTP) > from another machine on the LAN. Sample output from free command: > total used free shared buffers cached > Mem: 516508 510600 5908 0 1004 154084 > -/+ buffers/cache: 355512 160996 > Swap: 899600 25240 874360 > > Backtrace #1: > page allocation failure. order:1, mode:0x20 > [] __alloc_pages+0x2e1/0x300 > [] cache_alloc_refill+0x29e/0x4b0 > [] __kmalloc+0x6e/0x80 > [] __alloc_skb+0x53/0x110 > [] tcp_collapse+0x1ac/0x370 Hi, I hope you've found this by yourself by now, but: 1. These are warnings only - not oopses. 2. It seems this patch you've found to be responsible for this all slightly changes some limits, which is not necessarily wrong; the lucky thing is you can change these limits with sysctl or some echos to /proc/sys/net/ipv4/tcp_mem, I presume. (Or more safely by adding some memory.) Regards, Jarek P.