From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754128AbZEEWoA (ORCPT ); Tue, 5 May 2009 18:44:00 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752689AbZEEWnt (ORCPT ); Tue, 5 May 2009 18:43:49 -0400 Received: from cantor2.suse.de ([195.135.220.15]:59867 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752579AbZEEWnt (ORCPT ); Tue, 5 May 2009 18:43:49 -0400 Date: Tue, 5 May 2009 15:40:31 -0700 From: Greg KH To: KOSAKI Motohiro Cc: Stefan Lippers-Hollmann , linux-kernel@vger.kernel.org, akpm@linux-foundation.org, cl@linux-foundation.org, dave@linux.vnet.ibm.com, ebmunson@us.ibm.com, mel@csn.ul.ie, stable@kernel.org Subject: Re: patch mm-fix-committed_as-underflow-on-large-nr_cpus-environment.patch added to 2.6.29-stable tree Message-ID: <20090505224031.GA4052@suse.de> References: <20090504220454.3F71148FB8@coco.kroah.org> <200905052036.24106.s.L-H@gmx.de> <20090505221403.GA4714@suse.de> <2f11576a0905051526j73dd1570nb440e4b78e3b35a9@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <2f11576a0905051526j73dd1570nb440e4b78e3b35a9@mail.gmail.com> User-Agent: Mutt/1.5.19 (2009-01-05) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 06, 2009 at 07:26:51AM +0900, KOSAKI Motohiro wrote: > 2009/5/6 Greg KH : > > On Tue, May 05, 2009 at 08:36:19PM +0200, Stefan Lippers-Hollmann wrote: > >> Hi > >> > >> On Dienstag, 5. Mai 2009, gregkh@suse.de wrote: > >> [...] > >> > From 00a62ce91e554198ef28234c91c36f850f5a3bc9 Mon Sep 17 00:00:00 2001 > >> > From: KOSAKI Motohiro > >> > Date: Thu, 30 Apr 2009 15:08:51 -0700 > >> > Subject: mm: fix Committed_AS underflow on large NR_CPUS environment > >> > > >> > From: KOSAKI Motohiro > >> > > >> > commit 00a62ce91e554198ef28234c91c36f850f5a3bc9 upstream. > >> > > >> > The Committed_AS field can underflow in certain situations: > >> > > >> > >         # while true; do cat /proc/meminfo  | grep _AS; sleep 1; done | uniq -c > >> > >               1 Committed_AS: 18446744073709323392 kB > >> > >              11 Committed_AS: 18446744073709455488 kB > >> > >               6 Committed_AS:    35136 kB > >> > >               5 Committed_AS: 18446744073709454400 kB > >> > >               7 Committed_AS:    35904 kB > >> > >               3 Committed_AS: 18446744073709453248 kB > >> > >               2 Committed_AS:    34752 kB > >> > >               9 Committed_AS: 18446744073709453248 kB > >> > >               8 Committed_AS:    34752 kB > >> > >               3 Committed_AS: 18446744073709320960 kB > >> > >               7 Committed_AS: 18446744073709454080 kB > >> > >               3 Committed_AS: 18446744073709320960 kB > >> > >               5 Committed_AS: 18446744073709454080 kB > >> > >               6 Committed_AS: 18446744073709320960 kB > >> > > >> > Because NR_CPUS can be greater than 1000 and meminfo_proc_show() does > >> > not check for underflow. > >> > > >> > But NR_CPUS proportional isn't good calculation.  In general, > >> > possibility of lock contention is proportional to the number of online > >> > cpus, not theorical maximum cpus (NR_CPUS). > >> > > >> > The current kernel has generic percpu-counter stuff.  using it is right > >> > way.  it makes code simplify and percpu_counter_read_positive() don't > >> > make underflow issue. > >> > >> This patch reproducably panics on all systems I could test so far on > >> 2.6.29.2 + the current stable queue: > >> - Acer Aspire One, Intel Atom N270, Intel 945GC chipset (i386) > >> - AMD64 3200+, nVidia nforce3 chipset (amd64) > >> - AMD64 X2 4200+, nVidia nforce4 chipset (amd64) > >> > >> Kernel panic (sorry, this is from a bad webcam and only the last part of > >> the messages scrolling by - I can try to get a serial console tomorrow), > >> taken from an AMD64 3200+, nVidia nforce3 chipset (amd64). > >> http://sidux.com/slh/mm-fix-committed_as-underflow-on-large-nr_cpus-environment/panic.gif [198 KB] > >> > >> Reverting just this patch fixes the problem for me. > >> > >> Kernel configurations: > >> http://sidux.com/slh/mm-fix-committed_as-underflow-on-large-nr_cpus-environment/config-2.6.29-2.slh.5.3-sidux-686   [96 KB] > >> http://sidux.com/slh/mm-fix-committed_as-underflow-on-large-nr_cpus-environment/config-2.6.29-2.slh.5.6-sidux-amd64 [91 KB] > > > > Yes, I just confirmed this on my machines as well, so I'm going to drop > > it from the stable queue. > > > > If anyone thinks it is really necessary for the 2.6.29-stable tree, > > please resubmit it after fixing it and testing that it works :) > > > > thanks, > > Could you please post oops log? > current mmotm (include this patch) works fine on my x86_64 box. Then, > I have no hint now ;-) Ok, I'll apply the patch and reboot and take a picture of it...