lkml.org 
[lkml]   [2009]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: patch mm-fix-committed_as-underflow-on-large-nr_cpus-environment.patch added to 2.6.29-stable tree
From
2009/5/6 Greg KH <gregkh@suse.de>:
> 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 <kosaki.motohiro@jp.fujitsu.com>
>> > Date: Thu, 30 Apr 2009 15:08:51 -0700
>> > Subject: mm: fix Committed_AS underflow on large NR_CPUS environment
>> >
>> > From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
>> >
>> > 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 ;-)
--
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/

\
 
 \ /
  Last update: 2009-05-06 00:31    [W:0.142 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site