[PlanetCCRMA] XRUNS and more

Etienne Rouge etiennerouge at yahoo.com
Thu May 26 03:35:12 PDT 2016


I can confirm my IRQ settings is terrible. I was reminded of 
"realtimeconfigquickscan" and ran the tests.

Yet I still have no clue what to do :S


(IRQ settings bellow)

*perl ./realTimeConfigQuickScan.pl*
== GUI-enabled checks ==
Checking if you are root... no - good
Checking filesystem 'noatime' parameter... 4.4.4 kernel - good
(relatime is default since 2.6.30)
Checking CPU Governors... CPU 0: 'powersave' CPU 1: 'powersave' CPU 2: 
'powersave' CPU 3: 'powersave'  - not good
Set CPU Governors to 'performance' with 'cpufreq-set -c <cpunr> -g 
performance'
See also: http://linuxmusicians.com/viewtopic.php?f=27&t=844
Checking swappiness... 60 - not good
** vm.swappiness is larger than 10
set it with '/sbin/sysctl -w vm.swappiness=10'
See also: http://linuxmusicians.com/viewtopic.php?f=27&t=452&start=30#p8916
Checking for resource-intensive background processes... none found - good
Checking checking sysctl inotify max_user_watches... >= 524288 - good
Checking access to the high precision event timer... not readable - not good
/dev/hpet found, but not readable.
make /dev/hpet readable by the 'audio' group
For more information, see 
http://wiki.linuxaudio.org/wiki/system_configuration#hardware_timers
Checking access to the real-time clock... not readable - not good
/dev/rtc found, but not readable.
make /dev/rtc readable by the 'audio' group
For more information, see 
http://wiki.linuxaudio.org/wiki/system_configuration#hardware_timers
Checking whether you're in the 'audio' group... yes - good
Checking for multiple 'audio' groups... no - good
Checking the ability to prioritize processes with chrt... yes - good
Checking kernel support for high resolution timers... found - good
Kernel with Real-Time Preemption... not found - not good
Kernel without real-time capabilities found
For more information, see 
http://wiki.linuxaudio.org/wiki/system_configuration#installing_a_real-time_kernel 

Checking if kernel system timer is high-resolution... found - good
Checking kernel support for tickless timer... found - good
== Other checks ==
Checking filesystem types... ok.
ok.
** Set $SOUND_CARD_IRQ to the IRQ of your soundcard to enable more checks.
    Find your sound card's IRQ by looking at '/proc/interrupts' and lspci.

Le 16/05/2016 à 19:11, Etienne Rouge a écrit :
>
> Hi ! Here are all the commands related to IRQ :
>
> _*rtirq status*_
>
>   PID CLS RTPRIO  NI PRI %CPU STAT COMMAND
>   699 FF      50   -  90  0.0 S    irq/36-mei_me
>     3 TS       -   0  19  0.0 S    ksoftirqd/0
>    15 TS       -   0  19  0.0 S    ksoftirqd/1
>    22 TS       -   0  19  0.0 S    ksoftirqd/2
>    29 TS       -   0  19  0.0 S    ksoftirqd/3
>
>
> *cat /proc/interrupts*
>
>            CPU0       CPU1       CPU2       CPU3
>   0:         27          0          0          0   IO-APIC 2-edge      
> timer
>   1:          2          0          0          0   IO-APIC 1-edge      
> i8042
>   8:          1          0          0          0   IO-APIC 8-edge      
> rtc0
>   9:          0          0          0          0   IO-APIC 9-fasteoi   
> acpi
>  12:          4          0          0          0   IO-APIC 
> 12-edge      i8042
>  14:          0          0          0          0   IO-APIC 
> 14-edge      ata_piix
>  15:      30394          0          0          0   IO-APIC 
> 15-edge      ata_piix
>  16:        916          0          0          0   IO-APIC 
> 16-fasteoi   ehci_hcd:usb1
>  17:        877          0          0          0   IO-APIC 
> 17-fasteoi   snd_hda_intel
>  18:          0          0          0          0   IO-APIC 
> 18-fasteoi   i801_smbus
>  19:      71018          0          0          0   IO-APIC 
> 19-fasteoi   ata_piix, firewire_ohci
>  23:      12208          0          0          0   IO-APIC 
> 23-fasteoi   ehci_hcd:usb2
>  25:          0          0          0          0   PCI-MSI 
> 1572864-edge      xhci_hcd
>  26:          0          0          0          0   PCI-MSI 
> 1572865-edge      xhci_hcd
>  27:          0          0          0          0   PCI-MSI 
> 1572866-edge      xhci_hcd
>  28:          0          0          0          0   PCI-MSI 
> 1572867-edge      xhci_hcd
>  29:          0          0          0          0   PCI-MSI 
> 1572868-edge      xhci_hcd
>  30:          0          0          0          0   PCI-MSI 
> 3145728-edge      xhci_hcd
>  31:          0          0          0          0   PCI-MSI 
> 3145729-edge      xhci_hcd
>  32:          0          0          0          0   PCI-MSI 
> 3145730-edge      xhci_hcd
>  33:          0          0          0          0   PCI-MSI 
> 3145731-edge      xhci_hcd
>  34:          0          0          0          0   PCI-MSI 
> 3145732-edge      xhci_hcd
>  35:      12841          0          0          0   PCI-MSI 
> 3670016-edge      enp7s0
>  36:         11          0          0          0   PCI-MSI 
> 360448-edge      mei_me
>  37:        811          0          0          0   PCI-MSI 
> 442368-edge      snd_hda_intel
>  38:      14631          0          0          0   PCI-MSI 
> 524288-edge      nvidia
> NMI:          4          3          3          3   Non-maskable interrupts
> LOC:      91745      78005      78657      79401   Local timer interrupts
> SPU:          0          0          0          0   Spurious interrupts
> PMI:          4          3          3          3   Performance 
> monitoring interrupts
> IWI:          1          0          0          0   IRQ work interrupts
> RTR:          0          0          0          0   APIC ICR read retries
> RES:       4562       6455       4625       4002   Rescheduling interrupts
> CAL:       1402       1274       1271        970   Function call 
> interrupts
> TLB:      33470      28308      28856      28427   TLB shootdowns
> TRM:          0          0          0          0   Thermal event 
> interrupts
> THR:          0          0          0          0   Threshold APIC 
> interrupts
> DFR:          0          0          0          0   Deferred Error APIC 
> interrupts
> MCE:          0          0          0          0   Machine check 
> exceptions
> MCP:          4          4          4          4   Machine check polls
> ERR:          0
> MIS:          0
> PIN:          0          0          0          0 Posted-interrupt 
> notification event
> PIW:          0          0          0          0 Posted-interrupt 
> wakeup event
>
>
> */etc/sysconfig/rtirq*
>
> RTIRQ_NAME_LIST="rtc firewire_ohci" <- the only line I've changed
> RTIRQ_PRIO_HIGH=70
> RTIRQ_PRIO_DECR=1
> RTIRQ_PRIO_LOW=65
> RTIRQ_PRIO_UDEV=70
> RTIRQ_PRIO_DEFAULT=50
> RTIRQ_RESET_ALL=0
> RTIRQ_NON_THREADED="rtc snd"
>
>
> rtirq status seems really odd to me, but once again I understand very 
> little of this…
>
>
> Thanks !
>
>
> É
>
>
> Le 14/05/2016 à 05:36, Fernando Lopez-Lezcano a écrit :
>> On 05/13/2016 09:14 AM, Etienne Rouge wrote:
>>>
>>> Thanks for the quick reply. I really appreciate !
>>>
>>> I run Renoise with vanilla plugins.
>>>
>>> - CPU Intel(R) Core(TM) i5-2500 CPU @ (quad 3.30GHz)
>>> - 16gb ram
>>>
>>> It should be more than enough.
>>>
>>> I have edited /etc/sysconfig/rtirq  with :
>>> RTIRQ_NAME_LIST="rtc firewire_ohci" (and haven't touched the rest made
>>> by rncbc)
>>>
>>> I'm not sure it has done anything...
>>
>> See what priorities you have with "rtirq status"...
>>
>>> I'll try your script and I'll tell you how it goes.
>>
>> You have an i5 cpu so you do not have hyperthreading. Don't run the 
>> examples that I sent blindly, you have to understand what you are 
>> doing (if you turn off all 4 cores you are left with nothing :-)
>>
>> -- Fernando
>>
>>
>>> Le 13/05/2016 à 17:43, Fernando Lopez-Lezcano a écrit :
>>>> On 05/13/2016 05:15 AM, Etienne Rouge wrote:
>>>>> Hello,
>>>>
>>>> Hi Etienne,
>>>>
>>>>> I've recently switched back to CCRMA and I'm rather happy with it.
>>>>>
>>>>> However I still have xruns when I really shouldn't (powerfull 
>>>>> computer
>>>>> and reasonnable amount of tracks/effects).
>>>>>
>>>>> I've set up PAM…  added "rtc firewire_ohci" to the irq file. 
>>>>> Honestly, I
>>>>> don't quite understand the few tuts I find online and the fact 
>>>>> they are
>>>>> not fedora-oriented don't help.
>>>>>
>>>>> Is there a crucial step I've missed ? A tutorial I can follow ?
>>>>
>>>> Could you tell us what hardware is this? What software are you
>>>> running? I presume you are running rtirq and you have access to
>>>> SCHED_FIFO rt scheduling in your account.
>>>>
>>>> I have found that for critical low latency work using recent hardware
>>>> I need to disable hyperthreading (the fake cores on Intel processors
>>>> that can't do much) and also set the intel_pstate driver to try to use
>>>> all cores at high speed. Also disable thermald if you are using it (it
>>>> could also be throttling the processors). Maybe this would help?
>>>>
>>>> I have this in a script I run when needed (this is on a four core
>>>> Intel laptop with HT):
>>>>
>>>> # get all processors to run fast all the time...
>>>> echo "100" > /sys/devices/system/cpu/intel_pstate/min_perf_pct
>>>>
>>>> # turn off hyperthreading which only makes things worse most of the 
>>>> time
>>>> # we do this by turning off cpus that have the same "proc id"
>>>> echo 0 > /sys/devices/system/cpu/cpu1/online
>>>> echo 0 > /sys/devices/system/cpu/cpu3/online
>>>> echo 0 > /sys/devices/system/cpu/cpu5/online
>>>> echo 0 > /sys/devices/system/cpu/cpu7/online
>>>>
>>>> Best luck! And let us know how it works out...
>>>> -- Fernando
>>>>
>>>
>>> _______________________________________________
>>> PlanetCCRMA mailing list
>>> PlanetCCRMA at ccrma.stanford.edu
>>> https://cm-mail.stanford.edu/mailman/listinfo/planetccrma
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cm-mail.stanford.edu/pipermail/planetccrma/attachments/20160526/90d60b36/attachment-0001.html>


More information about the PlanetCCRMA mailing list