[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGVrzcbsSV7h3qA3KuCTwKNFEeww_kSNcfUkfw3PPjeXQXBo6g@mail.gmail.com>
Date: Tue, 4 Mar 2014 15:55:24 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
linux-mm <linux-mm@...ck.org>, paulmck@...ux.vnet.ibm.com,
linux-nfs@...r.kernel.org, trond.myklebust@...marydata.com
Subject: RCU stalls when running out of memory on 3.14-rc4 w/ NFS and kernel
threads priorities changed
Hi all,
I am seeing the following RCU stalls messages appearing on an ARMv7
4xCPUs system running 3.14-rc4:
[ 42.974327] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 42.979839] (detected by 0, t=2102 jiffies, g=4294967082,
c=4294967081, q=516)
[ 42.987169] INFO: Stall ended before state dump start
this is happening under the following conditions:
- the attached bumper.c binary alters various kernel thread priorities
based on the contents of bumpup.cfg and
- malloc_crazy is running from a NFS share
- malloc_crazy.c is running in a loop allocating chunks of memory but
never freeing it
when the priorities are altered, instead of getting the OOM killer to
be invoked, the RCU stalls are happening. Taking NFS out of the
equation does not allow me to reproduce the problem even with the
priorities altered.
This "problem" seems to have been there for quite a while now since I
was able to get 3.8.13 to trigger that bug as well, with a slightly
more detailed RCU debugging trace which points the finger at kswapd0.
You should be able to get that reproduced under QEMU with the
Versatile Express platform emulating a Cortex A15 CPU and the attached
files.
Any help or suggestions would be greatly appreciated. Thanks!
--
Florian
View attachment "malloc_crazy.c" of type "text/x-csrc" (405 bytes)
Download attachment "rcu_test.sh" of type "application/x-sh" (280 bytes)
Download attachment "bumpup.cfg" of type "application/octet-stream" (255 bytes)
View attachment "bumper.c" of type "text/x-csrc" (6782 bytes)
View attachment "bumper.h" of type "text/x-chdr" (534 bytes)
Powered by blists - more mailing lists