Philipp Schrader | 1 Sep 02:46 2015

RCU splat on boot from an idle CPU

Hi all,

I've got a real-time kernel on a DRA7 evaluation module (EVM).
Very early in the boot process I get the following splat.

[    0.055073]
[    0.055076] ===============================
[    0.055079] [ INFO: suspicious RCU usage. ]
[    0.055084] 4.1.6+ #2 Not tainted
[    0.055086] -------------------------------
[    0.055090] include/trace/events/hist.h:31 suspicious
rcu_dereference_check() usage!
[    0.055093]
[    0.055093] other info that might help us debug this:
[    0.055093]
[    0.055097]
[    0.055097] RCU used illegally from idle CPU!
[    0.055097] rcu_scheduler_active = 1, debug_locks = 1
[    0.055100] RCU used illegally from extended quiescent state!
[    0.055104] no locks held by swapper/0/0.
[    0.055106]
[    0.055106] stack backtrace:
[    0.055112] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.6+ #2
[    0.055116] Hardware name: Generic DRA74X (Flattened Device Tree)
[    0.055130] [<c00196b8>] (unwind_backtrace) from [<c001515c>]
(show_stack+0x20/0x24)
[    0.055146] [<c001515c>] (show_stack) from [<c07bc408>]
(dump_stack+0x84/0xa0)
[    0.055160] [<c07bc408>] (dump_stack) from [<c009bc38>]
(lockdep_rcu_suspicious+0xb0/0x110)
(Continue reading)

Josh Cartwright | 31 Aug 18:35 2015

[PATCH rt-tests 0/9] more rt-tests cleanups and a cyclictest feature

Hey Clark, John-

Here's another set, this one contains eight patches are very minor cleanups
(found mostly via code inspection and by building with warnings cranked up).

The last patch introduces an option to cyclictest to control the dumping of
histogram data into a separate file, it's useful for when you want to see the
'normal' cyclictest live-updating, but also want to store away the generated
histogram for later analysis.

(My goal was to present a net-negative diffstat...I came so close!)

Thanks!
  Josh

Gratian Crisan (1):
  cyclictest: Add option for dumping the histogram in a file

Josh Cartwright (8):
  cyclictest: consistently make all functions 'static'
  cyclictest: fixup documentation for --priority option
  cyclictest: drop unnecessary numa_on_and_available() check
  signaltest: drop unused tsnorm()
  cyclictest: use correct type when allocating cpu bitmask size
  cyclictest: drop impossible use_fifo conditional
  cyclictest: fail if use_fifo && thread creation failed
  error: mark fatal, err_exit, err_quit as being noreturn

 src/cyclictest/cyclictest.c | 120 ++++++++++++++++++++++++++------------------
 src/cyclictest/rt_numa.h    |  11 +---
(Continue reading)

Josh Cartwright | 28 Aug 02:19 2015

[PATCH rt-tests 0/4] build tweaks and a bug fix

Hey John, Clark-

This series has a few minor rt-tests tweaks that make it a bit easier to build
and package rt-tests for the bizarro build demands in the embedded space.  With
a bug fix thrown in for good measure.

The first patch breaks the assumption that build host == target; the second
patch allows a packager to more easily split hwlatdetect into a separate
package.  (Both of these patches are unchanged since Darren's original
submission in 2012[1]).

The third patch works around crappy gzip implementations.

The forth patch fixes a hypothetical (as far as I know) bug in hackbench's
error handling.

A form of all of these patches has been carried out-of-tree in the OpenEmbedded
project for years now :(.  They are more widely useful; as such, it's time to
land them in rt-tests proper.

Thanks,
  Josh

1: http://permalink.gmane.org/gmane.linux.rt.user/8749

Cc: Darren Hart <dvhart <at> linux.intel.com>
Cc: Robert Yang <liezhi.yang <at> windriver.com>
Cc: Kai Kang <kai.kang <at> windriver.com>
Cc: Song.Li <Song.Li <at> windriver.com>
Cc: Jesse Zhang <sen.zhang <at> windriver.com>
(Continue reading)

Isaac Griswold-Steiner | 21 Aug 22:45 2015
Picon

[PATCH RFC] rdtscbench: a nohz_full validation and benchmarking tool

From: Isaac Griswold-Steiner <isaac.griswoldsteiner <at> ni.com>

rdtscbench is a cyclictest-like tool that spawns a thread per cpu. Each thread
measures the difference in cycle count (using the tsc) during the execution of a
tight loop.

This is a simple tool intended to be used for the validation of nohz_full CPU
configurations. As the validation of nohz_full CPUs is the objective, the tool
avoids the usage of system calls, timers, or anything that might break nohz_full.

Signed-off-by: Isaac Griswold-Steiner <isaac.griswoldsteiner <at> ni.com>
---
 Makefile                    |   8 +
 src/rdtscbench/README       |  24 ++
 src/rdtscbench/rdtscbench.c | 723 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 755 insertions(+)
 create mode 100644 src/rdtscbench/README
 create mode 100644 src/rdtscbench/rdtscbench.c

diff --git a/Makefile b/Makefile
index a48e759..ec51fe9 100644
--- a/Makefile
+++ b/Makefile
 <at>  <at>  -34,6 +34,10  <at>  <at>  ifdef HAVE_PARSE_CPUSTRING_ALL
 endif
 endif

+ifneq ($(filter x86_64 i386,$(machinetype)),)
+sources += rdtscbench.c
+endif
(Continue reading)

Brian Silverman | 18 Aug 03:41 2015

problems with chained IRQ handlers

Hi,

Chained IRQ handlers are always marked IRQ_NOTHREAD, which means
forced threading doesn't apply to them. I think this means they can't
safely use non-raw spinlocks under CONFIG_PREEMPT_RT_FULL. Is this
correct?

I have an ARM system with a CONFIG_PREEMPT_RT_FULL kernel which prints
lockdep warnings from many places because of this. It also locks up
under moderate load, which I think is related to this issue. Any
suggestions?

Thanks,
Brian Silverman
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Sebastian Andrzej Siewior | 16 Aug 15:56 2015
Picon

[ANNOUNCE] 4.1.5-rt5

Dear RT folks!

I'm pleased to announce the v4.1.5-rt5 patch set.
Changes since v4.1.5-rt4:

- don't disable preemption in dump_stack(). We should not see a
  backtrace on a production kernel but then it should not increase the
  latency if trigger one.

Known issues:

- bcache is disabled.

- CPU hotplug works in general. Steven's test script however
  deadlocks usually on the second invocation.

- Clark Williams reported an OOPS in netlink_release() which has not
  been narrowed down yet.

- Nicholas Mc Guire reported high CPU usage by softirq on an idle system 
  which seems to freeze / halt the system.

The delta patch against 4.1.5-rt4 is appended below and can be found here:

    https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/incr/patch-4.1.5-rt4-rt5.patch.xz

You can get this release via the git tree at:

    git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v4.1.5-rt5

(Continue reading)

John Kacur | 14 Aug 14:48 2015
Picon

[PATCH] Fix VERSION in rt-migrate-test

- Change VERSION_STRING to VERSION to get the same version number as the
  the rest of the suite

- Assume that VERSION is defined, instead of replacing it with a
  nonsensical number

- Print the help option in the usage() function

Reported-by: DIXLOR <dixlor <at> gmail.com>
Signed-off-by: John Kacur <jkacur <at> redhat.com>
---
 src/rt-migrate-test/rt-migrate-test.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/rt-migrate-test/rt-migrate-test.c b/src/rt-migrate-test/rt-migrate-test.c
index fc6fd81ba9ca..430e992fc066 100644
--- a/src/rt-migrate-test/rt-migrate-test.c
+++ b/src/rt-migrate-test/rt-migrate-test.c
 <at>  <at>  -47,10 +47,6  <at>  <at> 

 #define gettid() syscall(__NR_gettid)

-#ifndef VERSION_STRING
-#define VERSION_STRING 0.3
-#endif
DIXLOR | 14 Aug 03:00 2015
Picon

rt-tests-0.93: VERSION mistake

In /src/rt-migrate-test/rt-migrate-test.c

#define VERSION_STRING 0.3

#  ./rt-migrate-test -h

rt-migrate-test 0.30
...

Version 3/10 ?  :)
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

John Kacur | 13 Aug 18:20 2015
Picon

[ANNOUNCE] rt-tests-0.93

Clark Williams and I are pleased to announce a new rt-tests release.
Note we have a new git location, 
make sure you update your repo to one of the following

git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
https://kernel.googlesource.com/pub/scm/utils/rt-tests/rt-tests.git

tag: v0.93

Alexander Stein (1):
  cyclictest: Fix long priority help text option

Clark Williams (4):
  makefile: fixed release target
  hwlatdetect: added --watch option to watch output in realtime
  doc: fix VERSION in release-checklist.txt
  Version bump to v0.93

John Kacur (6):
  Fix warning: unused variable ā€˜cā€™
  Fix possible exit on error without releasing mutex
  Create a .gitattribute file to specify what files git-archive should
    ignore
  Add .tar files to .gitignore
  Change VERSION_STRING to VERSION
  Create an rt-tests.tar file using git-archive

Cheers!

(Continue reading)

Grygorii Strashko | 12 Aug 20:25 2015
Picon

[4.1.3-rt3] [report][suspend to ram] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917

Hi All,

I can constantly see below error report with RT-kernel on TI ARM dra7-evm 
if I'm trying to do Suspend to RAM.

Sometimes, It's displayed alone (Log1) and sometimes in combination with 
"INFO: suspicious RCU usage" (Log2).
Below error was not reproduced on vanilla kernel (4.2-rc6).
I don't know if there are any relations, but on vanilla kernel (4.2-rc6)
i can see issue listed in log 3 (just in case).

I'm not familiar with affected code parts and would be appreciated for any comments.

===== LOG 1 =====
 Disabling non-boot CPUs ...
 PM: noirq suspend of devices complete after 7.295 msecs
[  100.285729] Disabling non-boot CPUs ...
[  100.287575] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917
[  100.287580] in_atomic(): 1, irqs_disabled(): 128, pid: 18, name: migration/1
[  100.287583] INFO: lockdep is turned off.
[  100.287586] irq event stamp: 122
[  100.287600] hardirqs last  enabled at (121): [<c06ac0ac>] _raw_spin_unlock_irqrestore+0x88/0x90
[  100.287609] hardirqs last disabled at (122): [<c06abed0>] _raw_spin_lock_irq+0x28/0x5c
[  100.287620] softirqs last  enabled at (0): [<c003d294>] copy_process.part.52+0x410/0x19d8
[  100.287625] softirqs last disabled at (0): [<  (null)>]   (null)
[  100.287630] Preemption disabled at:[<  (null)>]   (null)
[  100.287631] 
[  100.287639] CPU: 1 PID: 18 Comm: migration/1 Tainted: G        W       4.1.4-rt3-01046-g96ac8da #204
[  100.287642] Hardware name: Generic DRA74X (Flattened Device Tree)
[  100.287659] [<c0019134>] (unwind_backtrace) from [<c0014774>] (show_stack+0x20/0x24)
(Continue reading)

DIXLOR | 12 Aug 04:52 2015
Picon

Iozone write benchmark

Kernels:
      Debian 8 default (3.16.0-4)
      RT 3.18.19-rt15

# iozone -a -b out.xls -+u -p -B -e -E;

http://pavlinux.ru/bench.html  (sorry for music :)

--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Gmane