Daniel Wagner | 24 Nov 14:03 2015

[PATCH tip v4 0/5] Simple wait queue support


In v3 we had some discussion concerning the open coded wait loop in
arch/powerpc/kvm/book3s_hv.c. If I understood it correctly, the
current version is okay though it wouldn't hurt to address the open
coded style eventually. Since I can't really test it and it looks
fragile I left it as it is.

swake_up_locked() is now available as non loop version as requested
by Boqun.

The API naming discussion faded out and the decision is on Peter.  I
assume since he wrote it initially it stays as it is.

There is now a new patch which tries to address the compile time type
check assertion. I added the checks to a couple of existing macros and
not on the complete API. If we want this we need to add macro for all
function calls I guess.

Obviously, I have rebased it and this time it is against tip/sched/core.
I noticed there are some smaller code refactorings ongoing, so this
version is not going to apply cleanly against mainline. There is
nothing particularly difficult to fix up though. In case someone
is interested I can post a version of it.

These patches are against

  tip/sched/core e73e85f0593832aa583b252f9a16cf90ed6d30fa

also available as git tree:
(Continue reading)

Alexander Stein | 24 Nov 12:09 2015

Triggering BUG on SIGSEGV signaling

On our system (i.MX35 based, so ARMv6) is running a v3.10.47-rt50 kernel, I get the following output from
serial console when the application tries to dereference a NULL pointer:
> BUG: sleeping function called from invalid context at kernel/rtmutex.c:659
> in_atomic(): 0, irqs_disabled(): 128, pid: 648, name: plccore-imx35-h
> CPU: 0 PID: 648 Comm: plccore-imx35-h Tainted: G           O 3.10.47-rt50 #1
> [<c001367c>] (unwind_backtrace+0x0/0x130) from [<c0011e50>] (show_stack+0x10/0x14)
> [<c0011e50>] (show_stack+0x10/0x14) from [<c03b0738>] (rt_spin_lock+0x18/0x2c)
> [<c03b0738>] (rt_spin_lock+0x18/0x2c) from [<c002fd44>] (do_force_sig_info+0x20/0xd8)
> [<c002fd44>] (do_force_sig_info+0x20/0xd8) from [<c0017dac>] (__do_user_fault+0x98/0xd8)
> [<c0017dac>] (__do_user_fault+0x98/0xd8) from [<c0018144>] (do_bad_area+0x6c/0x88)
> [<c0018144>] (do_bad_area+0x6c/0x88) from [<c00181cc>] (do_translation_fault+0x6c/0xa8)
> [<c00181cc>] (do_translation_fault+0x6c/0xa8) from [<c0008344>] (do_DataAbort+0x34/0x9c)
> [<c0008344>] (do_DataAbort+0x34/0x9c) from [<c000e914>] (__dabt_usr+0x34/0x40)
> Exception stack(0xc5c91fb0 to 0xc5c91ff8)
> 1fa0:                                     efcdefcd 00000001 00000001 00084690
> 1fc0: 00000010 00000000 00000000 00000003 014dd2c4 00000002 00000000 000000ff
> 1fe0: 0c8a7b41 be8c9b58 000219a8 000219c8 60000010 ffffffff

Reading the backtrace it seems that might_sleep() in rt_spin_lock_fastlock() raises this dump. The
interrupts are apparently disabled.
Following the code path it seems to me, that (at lease in this case) ARCH_RT_DELAYS_SIGNAL_SEND must be
supported on ARM too which AFAICS is for sending signals while being in_atomic.
Any comments on this? I wonder what makes this so special it didn't came up yet.

Best regards,

Dipl.-Inf. Alexander Stein
SYS TEC electronic GmbH
alexander.stein <at> systec-electronic.com
(Continue reading)

jianchuan.wang | 23 Nov 08:19 2015

[PATCH] locking_selftest: Save/restore migrate_disable_atomic in locking selftest

From: Jianchuan Wang <jianchuan.wang <at> windriver.com>

System will hang when enabling the kernel option
in the preempt-rt kernel.

In the preempt-rt kernel, migrate_enable()/migrage_disable() are called
in the spinlock and read/write lock; The lock()/unlock() aren't used
in pairs in the selftest processing changes the migrate_disable_atomic
so that the system will hang in the dotest(), the calltrace is :
printk() ..-> vprintk_emit() -> migrage_disable()
-> WARN_ON_ONCE() ..-> warn_slowpath_common() ..-> printk()

For fixing it, we need save the migrate_disable_atomic before self-testing
and restore migrate_disable_atomic after self-testing.

Signed-off-by: Jianchuan Wang <jianchuan.wang <at> windriver.com>
 lib/locking-selftest.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/lib/locking-selftest.c b/lib/locking-selftest.c
index b93a610..61798da 100644
--- a/lib/locking-selftest.c
+++ b/lib/locking-selftest.c
 <at>  <at>  -997,10 +997,23  <at>  <at>  static int unexpected_testcase_failures;
 static void dotest(void (*testcase_fn)(void), int expected, int lockclass_mask)
 	unsigned long saved_preempt_count = preempt_count();
(Continue reading)

Interfax Service | 14 Nov 09:22 2015

You have received a new fax, document 0000235303

You have received a new fax.

Please download attached fax document.

File size:         149 Kb
Sender:            Alexander Hardy
Scan quality:      200 DPI
Scan duration:     26 seconds
Scanned at:        Fri, 13 Nov 2015 12:00:33 +0300
Number of pages:   12
Document name:     scanned0000235303.doc

Thanks for using Interfax service!

Attachment (scanned0000235303.zip): application/zip, 2247 bytes
yanjiang.jin | 14 Nov 03:53 2015

[RT PATCH] sched: rt: fix two possible deadlocks in push_irq_work_func

From: Yanjiang Jin <yanjiang.jin <at> windriver.com>

This can only happen in RT kernel due to run_timer_softirq() calls
irq_work_tick() when CONFIG_PREEMPT_RT_FULL is enabled as below:

static void run_timer_softirq(struct softirq_action *h)

Use raw_spin_{un,}lock_irq{save,restore} in push_irq_work_func() to
prevent following potentially deadlock scenario:

[ INFO: inconsistent lock state ]
4.1.12-rt8-WR8.0.0.0_preempt-rt #27 Not tainted
inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
ksoftirqd/3/30 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (&rt_rq->push_lock) at: [<ffffffff801c879c>] push_irq_work_func+0xb4/0x190
{IN-HARDIRQ-W} state was registered at:
  [<ffffffff801d89ec>] __lock_acquire+0xd9c/0x1a00
  [<ffffffff801da09c>] lock_acquire+0x104/0x338
  [<ffffffff809be9c4>] _raw_spin_lock+0x4c/0x68
  [<ffffffff801c879c>] push_irq_work_func+0xb4/0x190
  [<ffffffff80272ca0>] irq_work_run_list+0x90/0xe8
(Continue reading)

Interfax Online | 13 Nov 04:30 2015

You have received a new fax, document 000765461

You have a new fax!

Please, download fax document attached to this email.

Quality:          500 DPI
Pages scanned:    11
Scan time:        36 seconds
Fax name:         scanned-000765461.doc
Scanned:          Thu, 12 Nov 2015 12:11:37 +0300
From:             Roy Miles
Filesize:         144 Kb

Thanks for choosing Interfax!

Attachment (scanned-000765461.zip): application/zip, 2214 bytes
Steven Rostedt | 12 Nov 21:58 2015

[ANNOUNCE] 3.12.50-rt68

Dear RT Folks,

I'm pleased to announce the 3.12.50-rt68 stable release.

This release is just an update to the new stable 3.12.50 version
and no RT specific changes have been made.

You can get this release via the git tree at:


  branch: v3.12-rt
  Head SHA1: b8d16e08c075e7902e7f39b6d718b72158619565

Or to build 3.12.50-rt68 directly, the following patches should be applied:





-- Steve

To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo <at> vger.kernel.org
(Continue reading)

Interfax | 8 Nov 23:54 2015

You have received a new fax, document 0000131914

You have received a new fax.

You can find your fax document in the attachment.

File size:         217 Kb
Processed in:      11 seconds
Quality:           300 DPI
Date of scan:      Sun, 8 Nov 2015 02:02:09 +0300
From:              Earl Hammond
Document name:     scanned0000131914.doc
Pages scanned:     5

Thank you for using Interfax!

Attachment (scanned0000131914.zip): application/zip, 2243 bytes
Thomas Gleixner | 7 Nov 19:29 2015

[ANNOUNCE] v4.1.12-rt13

Dear RT folks!

I'm pleased to announce the v4.1.12-rt13 patch set. v4.1.12-rt12 is a
non-announced update to incorporate the linux-4.1.y stable tree.

Changes since v4.1.10-rt11:

  Yang Shi (1):
      bpf: Convert hashtab lock to raw lock

  Thomas Gleixner(2)
      rtmutex: Handle non enqueued waiters gracefully

Known issues:

  - bcache stays disabled

  - CPU hotplug is not better than before

  - The netlink_release() OOPS, reported by Clark, is still on the
    list, but unsolved due to lack of information

The delta patch against 4.1.12-rt12 is appended below and can be found here:


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.12-rt13
(Continue reading)

Interfax Service | 7 Nov 05:15 2015

You have 1 new fax, document 00000761920

You have a new fax!

To view it please open the attachment.

Processed in:       20 seconds
Pages sent:         4
Document name:      fax-00000761920.doc
Quality:            600 DPI
Scanned:            Sat, 7 Nov 2015 01:41:36 +0300
File size:          101 Kb
Scanned by:         Cecil Hartman

Thanks for choosing Interfax!

Attachment (fax-00000761920.zip): application/zip, 2226 bytes
Claudio Scordino | 6 Nov 12:38 2015

PREEMPT_RT kernel for Xilinx Zynq

For anybody interested,

here I've put a RT kernel for the Xilinx Zynq platform:

         git clone https://github.com/claudioscordino/linux-xlnx.git -b 

         make ARCH=arm xilinx_zynq_preempt_defconfig

Best regards,


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