* 1 of 23 peformance problems at 30 to 40 percent system load @ 2015-07-17 20:05 Joël Krähemann 2015-07-20 12:43 ` linuxball 0 siblings, 1 reply; 4+ messages in thread From: Joël Krähemann @ 2015-07-17 20:05 UTC (permalink / raw) To: linux-rt-users 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 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? 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 1 of 23 peformance problems at 30 to 40 percent system load 2015-07-17 20:05 1 of 23 peformance problems at 30 to 40 percent system load Joël Krähemann @ 2015-07-20 12:43 ` linuxball 2015-07-21 1:47 ` Joël Krähemann 0 siblings, 1 reply; 4+ messages in thread From: linuxball @ 2015-07-20 12:43 UTC (permalink / raw) To: jkraehemann-guest, linux-rt-users 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@vger.kernel.org > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 1 of 23 peformance problems at 30 to 40 percent system load 2015-07-20 12:43 ` linuxball @ 2015-07-21 1:47 ` Joël Krähemann 2015-09-14 14:47 ` Joël Krähemann 0 siblings, 1 reply; 4+ messages in thread From: Joël Krähemann @ 2015-07-21 1:47 UTC (permalink / raw) To: linuxball; +Cc: linux-rt-users Hi The problem was more related to a memory leak what slowed the down the computer. This is fixed for now. For me performance means you can do your work during a period in time. So good performance means stay in realtime. cheers, Joël On Mon, Jul 20, 2015 at 2:43 PM, linuxball <linuxball@gmail.com> wrote: > 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@vger.kernel.org >> 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@vger.kernel.org > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 1 of 23 peformance problems at 30 to 40 percent system load 2015-07-21 1:47 ` Joël Krähemann @ 2015-09-14 14:47 ` Joël Krähemann 0 siblings, 0 replies; 4+ messages in thread From: Joël Krähemann @ 2015-09-14 14:47 UTC (permalink / raw) To: jkraehemann-guest; +Cc: linux-rt-users Hi Today I was thinking about performance. Every system has its properties e.g. acoustics has it's range within a bandwidth, light has it's own oscillation range as well. These are all basically mathematical systems whereby the rule of performance can be applied. You might underload a system to make certain properties visible like the amplitude of a wave. Within finite computation with recursive precision you have to use the harmonic oscillation within the system. Underload as a term would be defined as followig: An optimal system on highest load shall slow down as underloading. In contrast as it doesn't run at highest load it would be over-clocked. In view of threads and the kernel, Linux would preferably be able to handle more computation capacity on different loads. So concurrency safety will be handled on compiler level. About me, I don't code the kernel and don't have to deal with bits or frequencies. Or at least in a more abstract manner, bits are the things I switch on and off. Frequency is the synchronization rate I do ... How ever I really like maths. I hope you enjoy the show: http://gsequencer.org By the way electrons are able to tunnel what isn't handled by the specifications above. Bests, Joël Krähemann On Tue, Jul 21, 2015 at 3:47 AM, Joël Krähemann <jkraehemann@gmail.com> wrote: > Hi > > The problem was more related to a memory leak what slowed the down the computer. > This is fixed for now. For me performance means you can do your work > during a period in time. > So good performance means stay in realtime. > > cheers, > Joël > > On Mon, Jul 20, 2015 at 2:43 PM, linuxball <linuxball@gmail.com> wrote: >> 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@vger.kernel.org >>> 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@vger.kernel.org >> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-09-14 14:47 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-07-17 20:05 1 of 23 peformance problems at 30 to 40 percent system load Joël Krähemann 2015-07-20 12:43 ` linuxball 2015-07-21 1:47 ` Joël Krähemann 2015-09-14 14:47 ` Joël Krähemann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox