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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Joël,

see remarks in the context below.

Best regards,

Wolfgang

On 17.07.2015 22:05, Joël Krähemann wrote:
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
From the output it seems that the kernel you are using is NOT a RT kernel (otherwise "uname -v" should say "#1 SMP PREEMPT RT ..."). If you want to use a RT kernel you should build the kernel with PREEMPT_RT_FULL defined.
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.
What do you mean when you talk about "performance problems"? How do they manifest?

* `chrt` to higher priority doesn't give wished throughput.
As you certainly know in general a RT kernel has worse throughput (but better response times / lower latencies for time critical threads) than a generic kernel.
* `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
Model:                 58
Model name:            Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz
Stepping:              9
CPU MHz:               3275.648
CPU max MHz:           3700.0000
CPU min MHz:           1200.0000
BogoMIPS:              5387.58
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7


GSequencer uses many threads but doesn't stay in realtime. What am I
doing wrong? Or how to gain more Performance out of the system?
How do you define performance? If you want more throughput then try a generic kernel. If you want shorter response times (lower latencies) for selected RT threads than use a RT kernel and tweak the thread priorities of the respective user and kernel threads in the processing chain. Make sure that you don't get priority inversion by using improper RT prio assignment, e.g. participating IRQ threads from kernel should have higher or same RT prio than threads processing data delivered by those IRQ threads. A good example for audio applications is http://subversion.ffado.org/wiki/IrqPriorities which shows priority settings for JACK audio applications.
I could imagine on my code side that vary frequency segmentation would
bring better throughput. By modeifing AGS_THREAD_DEFAULT_JIFFIE,
AGS_THREAD_MAX_PRECISION and related.

But for now I search for documentation about linux kernel performance counters.

Best regards,
Joël Krähemann
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux