Grygorii Strashko | 4 Aug 14:00 2015
Picon

Common clock framework API vs RT patchset

Hi All,

I'd very appreciated if someone can clarify one point for me.

Is allowed/expected/prohibited to use CLK API like clk_enable/disable
in atomic context now on RT-Kernel (HW IRQ or under RAW spinlocks)?

How safe is it to allow CLK API to be preemptive?

--

-- 
regards,
-grygorii
--
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

pavel | 3 Aug 13:13 2015
Picon

1us latency?

# ./cyclictest -S -p fifo
defaulting realtime priority to 9
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.00 0.03 0.05 1/218 4240

T: 0 ( 4174) P: 9 I:1000 C: 430806 Min:      1 Act:    1 Avg:    1 Max:      10
T: 1 ( 4175) P: 9 I:1500 C: 287204 Min:      1 Act:    1 Avg:    1 Max:       6
T: 2 ( 4176) P: 9 I:2000 C: 215403 Min:      1 Act:    2 Avg:    1 Max:      11
T: 3 ( 4177) P: 9 I:2500 C: 172322 Min:      1 Act:    1 Avg:    1 Max:       9
T: 4 ( 4178) P: 9 I:3000 C: 143602 Min:      1 Act:    1 Avg:    1 Max:      10
T: 5 ( 4179) P: 9 I:3500 C: 123087 Min:      1 Act:    1 Avg:    1 Max:      11
T: 6 ( 4180) P: 9 I:4000 C: 107701 Min:      1 Act:    1 Avg:    1 Max:      10
T: 7 ( 4181) P: 9 I:4500 C: 108232 Min:      1 Act:    2 Avg:    1 Max:      11

It possible? 1us latency?  o_O

kernel- 3.18.19-rt15
cyclictest V 0.92
Intel(R) Xeon(R) CPU E3-1246 v3  <at>  3.50GHz
MSI MS-7823/B85M-G43 (MS-7823), BIOS V3.14B3 06/23/2014
--
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

DIXLOR | 25 Jul 16:05 2015
Picon

rtmutex deadlock detected (3.18.19-rt15)

# xfs_fsr;
^C

[ 3380.373641] WARNING: CPU: 6 PID: 3664 at kernel/locking/rtmutex.h:29 
0xffffffff814d4ea2()
[ 3380.373641] rtmutex deadlock detected
[ 3380.373645] Modules linked in: cpufreq_userspace cpufreq_powersave 
cpufreq_conservative nct6775 hwmon_vid xhci_hcd usbcore iTCO_wdt 
crct10dif_pclmul iTCO_vendor_support shpchp crc32c_intel i2c_i801 lpc_ich 
i2c_core usb_common mfd_core button processor dm_mod raid1 ahci libahci fan 
thermal thermal_sys [last unloaded: xhci_pci]
[ 3380.373646] CPU: 6 PID: 3664 Comm: xfs_fsr Tainted: G D        3.18.19-rt15 #3
[ 3380.373647] Hardware name: MSI MS-7823/B85M-G43 (MS-7823), BIOS V3.14B3 
06/23/2014
[ 3380.373647]  0000000000000000 0000000000000009 ffffffff814d1350 ffff8807ef65f538
[ 3380.373648]  ffffffff810498dd ffff8807cf289d10 ffff8807ef65f5c0 0000000000000000
[ 3380.373648]  0000000000000000 0000000000000002 ffffffff81049955 ffffffff81680648
[ 3380.373649] Call Trace:
[ 3380.373649]  [<ffffffff814d1350>] ? 0xffffffff814d1350
[ 3380.373649]  [<ffffffff810498dd>] ? 0xffffffff810498dd
[ 3380.373650]  [<ffffffff81049955>] ? 0xffffffff81049955
[ 3380.373650]  [<ffffffff814d4ea2>] ? 0xffffffff814d4ea2
[ 3380.373651]  [<ffffffff81245565>] ? 0xffffffff81245565
[ 3380.373651]  [<ffffffff81262cb0>] ? 0xffffffff81262cb0
[ 3380.373651]  [<ffffffff81245797>] ? 0xffffffff81245797
[ 3380.373651]  [<ffffffff8115a7d5>] ? 0xffffffff8115a7d5
[ 3380.373652]  [<ffffffff811558f8>] ? 0xffffffff811558f8
[ 3380.373652]  [<ffffffff81155a56>] ? 0xffffffff81155a56
[ 3380.373652]  [<ffffffff81140b23>] ? 0xffffffff81140b23
[ 3380.373653]  [<ffffffff81064074>] ? 0xffffffff81064074
(Continue reading)

Sebastian Andrzej Siewior | 25 Jul 12:32 2015
Picon

[ANNOUNCE] 4.1.3-rt3

Dear RT folks!

I'm pleased to announce the v4.1.3-rt3 patch set.
Changes since v4.1.3-rt2:

- fix compile of locktorture. Patch by Wolfgang M. Reimer.

- fix compile pid_namespace without lockdep on ARM. Patch by Grygorii
  Strashko

- The annoying "cpufreq_stat_notifier_trans: No policy found" is finally
  gone. 

- xor / raid_pq
  The max latency will increase into the ms range if the raid6_pq is
  loaded. This should not matter under normal circumstances because that
  module should only be loaded at boot time if required (and not while a
  -RT task is active in production). It might also get loaded at
  run-time manually. 
  Dropping the preempt_disable() might cause different results for the
  individual implementations. People who don't care (load it at
  run-time) don't need to load it at all. People who care (load it boot
  time) would prefer to stick with the best implementation.
  Therefore I think it is enough to document this (don't load it at run
  time if you don't need it) and I cross it off my list. Patches are
  welcome if someone needs / has an improvement.

Known issues:

- bcache is disabled.
(Continue reading)

Pavel Vasilyev | 22 Jul 22:05 2015
Picon

Where IOSCHED ?

# dmesg | grep sched
[    0.387902] io scheduler noop registered
[    0.387989] io scheduler deadline registered
[    0.388079] io scheduler cfq registered (default)

# cat /boot/config-3.18.17-rt14 | grep IOSCHED
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_DEFAULT_IOSCHED="cfq"

# cat /sys/block/sda/queue/scheduler
none

# uname -a
Linux localhost 3.18.17-rt14 #1 SMP PREEMPT RT Wed Jul 22 18:49:51 MSK 2015 
x86_64 GNU/Linux
--

-- 

                                                          Pavel.
--
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

David VomLehn | 22 Jul 20:39 2015
Picon

Scheduling while atomic in find_task_lock_mm

I'm trying to port the RT patch to Android (based on Linux 3.10) and things have been
going pretty smoothly. However, I've hit a snag--I have to have hot plugging enabled
and when the system tries to take down a CPU, it gets "scheduling while atomic". At
a high level, the code to take the CPU down is trying to clear the CPU's bit in the
mm_struct associated with every task_struct.

In more detail, cpu_stopper_thread() disables preemption, then there is a sequence
of calls, passing through the ARM-specific __cpu_disable(), finally atrriving at
find_lock_task_mm(). That function calls task_lock(), which uses spin_lock() to
lock a task_struct. When it encounters a task_struct that is already locked, schedule()
gets called and Bad Things happen.

So:
o	I don't think I can enable preemption here because it's pretty like another
	task will swoop in and mess things up.

o	Using a raw_spin_lock() just for ARM doesn't seem like a good choice.

o	I *think* I do need the spin_lock() before changing the CPU's bit in the
	cpu_vm_mask_var element of the mm_struct.
--
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

Alexander Stein | 22 Jul 14:44 2015

[PATCH 1/1] cyclictest: Fix long priority help text option

The help text shows prio as the long option name for the process priority.
But it is actually priority.

Signed-off-by: Alexander Stein <alexander.stein <at> systec-electronic.com>
---
 src/cyclictest/cyclictest.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
index 34053c5..c178a74 100644
--- a/src/cyclictest/cyclictest.c
+++ b/src/cyclictest/cyclictest.c
 <at>  <at>  -1062,7 +1062,7  <at>  <at>  static void display_help(int error)
 	       "-N       --nsecs           print results in ns instead of us (default us)\n"
 	       "-o RED   --oscope=RED      oscilloscope mode, reduce verbose output by RED\n"
 	       "-O TOPT  --traceopt=TOPT   trace option\n"
-	       "-p PRIO  --prio=PRIO       priority of highest prio thread\n"
+	       "-p PRIO  --priority=PRIO   priority of highest prio thread\n"
 	       "-P       --preemptoff      Preempt off tracing (used with -b)\n"
 	       "-q       --quiet           print only a summary on exit\n"
 	       "	 --priospread       spread priority levels starting at specified value\n"
--

-- 
2.3.6

--
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

(Continue reading)

Grygorii Strashko | 21 Jul 18:43 2015
Picon

[4.1.2-rt1 PATCH] include/linux/pid.h: fix build error

From: Grygorii Strashko <Grygorii.Strashko <at> linaro.org>

This patch fixes build error:
  CC      kernel/pid_namespace.o
In file included from kernel/pid_namespace.c:11:0:
include/linux/pid.h: In function 'get_pid':
include/linux/pid.h:78:3: error: implicit declaration of function 'atomic_inc' [-Werror=implicit-function-declaration]
   atomic_inc(&pid->count);
   ^
which happens when
 CONFIG_PROVE_LOCKING=n
 CONFIG_DEBUG_SPINLOCK=n
 CONFIG_DEBUG_MUTEXES=n
 CONFIG_DEBUG_LOCK_ALLOC=n

Signed-off-by: Grygorii Strashko <Grygorii.Strashko <at> linaro.org>
---
 include/linux/pid.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/pid.h b/include/linux/pid.h
index 23705a53..2cc64b7 100644
--- a/include/linux/pid.h
+++ b/include/linux/pid.h
 <at>  <at>  -2,6 +2,7  <at>  <at> 
 #define _LINUX_PID_H

 #include <linux/rcupdate.h>
+#include <linux/atomic.h>

(Continue reading)

Joël Krähemann | 17 Jul 23:15 2015
Picon

udelay and ndelay includes and linker

Hi, since on my system /usr/include/linux/delay.h is missing I'm
asking me how to include it and link against it.

I'd like to use ndelay() instead of nanosleep().

Any hint would be helpful.

Thank you

cheers,
Joël Krähemann
--
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

Joël Krähemann | 17 Jul 22:05 2015
Picon

1 of 23 peformance problems at 30 to 40 percent system load

Hi all,

My name is Joël Krähemann, I'm developing:

http://gsequencer.org

and I'm using:

Linux debian 4.0.5 #1 SMP PREEMPT Sat Jul 11 16:32:49 CEST 2015 x86_64 GNU/Linux

For now I encounter on my system performance problems at a load of 30
to 40 % system load, all 8 virtual cpu's have same average load.

* `chrt` to higher priority doesn't give wished throughput.
* `taskset` has ff as default.
* `cpufreq-set -g performance` brings a little improvement for first seconds

This is my CPU:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
(Continue reading)

Grygorii Strashko | 17 Jul 18:47 2015
Picon

[4.1.2-rt1] build failure

Hi All,

I've just tried v4.1.2-rt1 RT-patch set and got below build
failure:

  CC      kernel/pid_namespace.o
In file included from kernel/pid_namespace.c:11:0:
include/linux/pid.h: In function 'get_pid':
include/linux/pid.h:78:3: error: implicit declaration of function 'atomic_inc' [-Werror=implicit-function-declaration]
   atomic_inc(&pid->count);
   ^
  CC      drivers/base/regmap/regcache-flat.o
  CC      fs/lockd/xdr4.o
cc1: some warnings being treated as errors
  CC      drivers/base/regmap/regmap-debugfs.o
make[1]: *** [kernel/pid_namespace.o] Error 1
make: *** [kernel] Error 2
make: *** Waiting for unfinished jobs....

I identified that it's reproduced in case 
CONFIG_PROVE_LOCKING=n
CONFIG_DEBUG_SPINLOCK=n
CONFIG_DEBUG_MUTEXES=n
CONFIG_DEBUG_LOCK_ALLOC=n

The same is not reproduced without RT-patch set.

The below diff fixes an issue for me:
diff --git a/include/linux/pid.h b/include/linux/pid.h
index 23705a53..2cc64b7 100644
(Continue reading)


Gmane