From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx166.postini.com [74.125.245.166]) by kanga.kvack.org (Postfix) with SMTP id 6ED4F6B0092 for ; Wed, 16 May 2012 05:03:19 -0400 (EDT) Received: by obbwd18 with SMTP id wd18so1074057obb.14 for ; Wed, 16 May 2012 02:03:18 -0700 (PDT) MIME-Version: 1.0 Date: Wed, 16 May 2012 14:33:18 +0530 Message-ID: Subject: [bug] shrink_slab shrinkersize handling From: solmac john Content-Type: multipart/alternative; boundary=e89a8ff1c0461e00e604c02397f0 Sender: owner-linux-mm@kvack.org List-ID: To: Dave Chinner , Andrew Morton , linux-mm , Russell King - ARM Linux , Kernelnewbies@kernelnewbies.org, linux-kernel@vger.kernel.org --e89a8ff1c0461e00e604c02397f0 Content-Type: text/plain; charset=ISO-8859-1 Hi All, During mm performance testing sometimes I observed below kernel messages [ 80.776000] shrink_slab: ashmem_shrink+0x0/0x114 negative objects to delete nr=-2133936901 [ 80.784000] shrink_slab: ashmem_shrink+0x0/0x114 negative objects to delete nr=-2139256767 [ 80.796000] shrink_slab: ashmem_shrink+0x0/0x114 negative objects to delete nr=-2079333971 [ 80.804000] shrink_slab: ashmem_shrink+0x0/0x114 negative objects to delete nr=-2096156269 [ 80.812000] shrink_slab: ashmem_shrink+0x0/0x114 negative objects to delete nr=-20658392 After debugging is I fount these prints from mm/vmscan.c Kernel Error msg point unsigned long total_scan; unsigned long max_pass; max_pass = do_shrinker_shrink(shrinker, shrink, 0); delta = (4 * nr_pages_scanned) / shrinker->seeks; delta *= max_pass; do_div(delta, lru_pages + 1); shrinker->nr += delta; if (shrinker->nr < 0) { printk(KERN_ERR "shrink_slab: %pF negative objects to " "delete nr=%ld\n", shrinker->shrink, shrinker->nr); shrinker->nr = max_pass; } I found one patch http://lkml.org/lkml/2011/8/22/80 for this fix Please let me know reason why I am getting above error and above is really fix for this problem. ? I am working on ARM cortex A9 linux-3.0.20 kernel. Thanks, John --e89a8ff1c0461e00e604c02397f0 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

Hi All,

During mm performance testing sometimes I observed below kerne= l messages

[=A0=A0 80.776000] shrink_slab: ashmem_shrink+0x0/0x114 negati= ve objects to delete nr=3D-2133936901
[=A0=A0 80.784000] shrink_slab: as= hmem_shrink+0x0/0x114 negative objects to delete nr=3D-2139256767
[=A0=A0 80.796000] shrink_slab: ashmem_shrink+0x0/0x114 negative objects to= delete nr=3D-2079333971
[=A0=A0 80.804000] shrink_slab: ashmem_shrink+0= x0/0x114 negative objects to delete nr=3D-2096156269
[=A0=A0 80.812000] = shrink_slab: ashmem_shrink+0x0/0x114 negative objects to delete nr=3D-20658= 392=A0=A0=A0

=A0After debugging is I fount these prints from mm/vmscan.c

Kernel Error msg point

=A0=A0 unsigned long total_scan;

=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 unsigned long max_pass;

=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 max_pass =3D do_shrinker_shrink(shrinker, shrink,= 0);

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = delta =3D (4 * nr_pages_scanned) / shrinker->seeks;=

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = delta *=3D max_pass;

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = do_div(delta, lru_pages + 1);

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = shrinker->nr +=3D delta;

=A0 =A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0if (shrinker->nr < 0) {

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0 printk(KERN_ERR "shrink_slab: %pF nega= tive objects to "

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "delete nr=3D%ld\= n",

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 shrinker->shrink, s= hrinker->nr);

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0 shrinker->nr =3D max_pass;=

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 }
=A0

=A0

I found one patch =A0<= a href=3D"http://lkml.org/lkml/2011/8/22/80">http://lkml.org/lkml/2011/8/22/80=A0=A0 =A0for this fix
Please let me know reason why I am getting above error and ab= ove is really fix for this problem. =A0?
I am working on=A0ARM cortex A9=A0=A0linux-3.0.20 k= ernel.
=A0
Thanks,
John

=A0

--e89a8ff1c0461e00e604c02397f0-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org