It seems i found my problem after deleting all the tweaks i've done and reintroduced them one by one:
CRAAP setting - OK
SoX custom recipe - OK
isolcpu - NOK
what i was doing:
in /boot/cmdline.txt
isolcpus=2,3
in /lib/systemd/system/mpd.service
ExecStart=/usr/bin/taskset -c 2,3 chrt -a -f /usr/local/bin/mpd --no-daemon $MPDCONF
-a and -f options were found in:
https://www.man7.org/linux/man-pages/man1/chrt.1.html
It seemed to make working the 2 isolated CPUs on MPD with fifo scheduling (seen with htop)
But then it tends to bug with time ...
the "correct way" is:
isolcpus=2,3
ExecStart=/usr/bin/taskset -c 2,3 /usr/bin/mpd --no-daemon $MPDCONF
"chrt -a -f" deleted and "/usr/local/bin/mpd --no-daemon $MPDCONF" changed in "/usr/bin/mpd --no-daemon $MPDCONF"
Don't know if it's the real correct way, but "openMpdSock() failed" is gone after a restart and MPD seems to be isolated on CPU 2
But the problem is that only CPU 2 is doing MPD as "isolcpu 2,3" and "taskset c 2,3" disables the scheduling policies on the isolated CPUs.
So CPU 3 is idle...
I will try to find another solution and post it if it works well.
Another thing in moode 6 and 7 i used to find in /lib/systemd/system/mpd.service the CPUSchedulingPolicy, CPUSchedulingPriority and Nice parameters but the lines are gone...
Does someone knows where to find them ?
Thanks for your input
CRAAP setting - OK
SoX custom recipe - OK
isolcpu - NOK
what i was doing:
in /boot/cmdline.txt
isolcpus=2,3
in /lib/systemd/system/mpd.service
ExecStart=/usr/bin/taskset -c 2,3 chrt -a -f /usr/local/bin/mpd --no-daemon $MPDCONF
-a and -f options were found in:
https://www.man7.org/linux/man-pages/man1/chrt.1.html
It seemed to make working the 2 isolated CPUs on MPD with fifo scheduling (seen with htop)
But then it tends to bug with time ...
the "correct way" is:
isolcpus=2,3
ExecStart=/usr/bin/taskset -c 2,3 /usr/bin/mpd --no-daemon $MPDCONF
"chrt -a -f" deleted and "/usr/local/bin/mpd --no-daemon $MPDCONF" changed in "/usr/bin/mpd --no-daemon $MPDCONF"
Don't know if it's the real correct way, but "openMpdSock() failed" is gone after a restart and MPD seems to be isolated on CPU 2
But the problem is that only CPU 2 is doing MPD as "isolcpu 2,3" and "taskset c 2,3" disables the scheduling policies on the isolated CPUs.
So CPU 3 is idle...
I will try to find another solution and post it if it works well.
Another thing in moode 6 and 7 i used to find in /lib/systemd/system/mpd.service the CPUSchedulingPolicy, CPUSchedulingPriority and Nice parameters but the lines are gone...
Does someone knows where to find them ?
Thanks for your input