@DenisP - compiling Squeeze Server is possible and I've done it successfully while exploring how to package it. The real problem is the packaging - it relies heavily on Perl and numerous CPAN packages.

OK, I understand - but I don't need no packaging
I just want to install it on ANY Puppy version in any way possible, so I'd appreciate ANY kind of help - e.g. which version of LMS server to use and how to compile and install everything.
Installing it on mpdPup would be awesome - that way I could choose either mpd or LMS as a server upon startup or something.... Add squeezelite as a player, and I could have a standalone squeezebox ecosystem-in-a-box (if desired for connecting to other players on the network - where other "players" could be thin clients with mpdPup installed, but using "squeezelite" as a player in this case).

I've checked the possibility of using mpdPup (i.e. mpd) with several "players" on the network, but it is not possible - at least not in the way LMS (squeezebox server) does it...

Regarding the discussion on ulimit - this is starting to sound like a major research project, I'll see what I can find out though - wouldn't be surprised if the defaults are set at compile time for the kernel. I'm pretty sure I don't want to install PAM or any extra background processes to make limits.conf work.

That is how I understand it:
The values set at kernel level define system wide (for all users) limits which can be changed on the fly via sysctl commands. ulimits allow to change them for a user context. So, I am not sure it is good idea to set them in the kernel.

May be you can try this, assuming mpd is running under mpd user:
(it won't work with pam installed but may be without it...)

Regarding the questions on the kernel - the specific kernel is 2.6.39-4, and it has the BFS scheduler patches. I'm not sure whether this scheduler contributes to any sound quality perception discussions, but theoretically it sounds like a better deal for audio than the stock scheduler.

@boulogne75 - NFS support still isn't in the wizards, but the system has always supported NFS to the best of my knowledge. I've recently picked up a Synology NAS which supports NFS, so I may dig back into it.

Thanks for the extra info on ulimits.

@DenisP, unfortunately I don't remember exactly what I did to get SqueezeServer up and running - it involved installing CPAN and tons of dependencies (using CPAN) - once all the dependencies were installed I was able to compile/install the SqueezeServer software. I think the dependencies were tracked down by installation failure errors. I just grabbed the latest SqueezeServer package from logitech at that time - this was about 18 months ago.

From the mouth of the creator of BFS...
"Run your audio and video apps SCHED_ISO:
schedtool -I -e amarok
This will run amarok as an unprivileged real-time task. Note that if you start
an application that tries to get real-time scheduling (eg jackd) and you are
not starting it as root, BFS will automatically elevate it to SCHED_ISO for
you to give it the next best thing."
With BFS, once MPD is given unprivileged real-time priority it will be auto-magically run in a 'core' that give best performance.

From the mouth of the creator of BFS.
"Because BFS uses one global runqueue
for all tasks on the system, when a realtime task wants CPU time, BFS will
find the most suitable CPU anywhere in the system to run it on, by kicking
off the lower priority task running anywhere."

http://ck.kolivas.org/patches/bfs/bfs-faq.txt

Looks like this one command [schedtool -I -e mpd] after schedtool is installed will increase performance.

Update:

Yes schedtool does seem to work as advertised. It can be added to the start up script.

I remember earlier we were trying SHIMAX and SHIMIN etc. tuning. The original poster was just throwing numbers in and listening for differences. I'd like to logically tune the kernel to run at optimal per IBM and Oracle's suggestions based on what the actual perimeters do vs. random values.

sounds quite interesting what you are trying here.
I would like to try schedtool. How to install schedtool in mpdpup? I saw that there is also a nice parameter in schedtool, do you think this will make a difference to change that?

From the mouth of the creator of BFS...
"Run your audio and video apps SCHED_ISO:
schedtool -I -e amarok
This will run amarok as an unprivileged real-time task. Note that if you start
an application that tries to get real-time scheduling (eg jackd) and you are
not starting it as root, BFS will automatically elevate it to SCHED_ISO for
you to give it the next best thing."
With BFS, once MPD is given unprivileged real-time priority it will be auto-magically run in a 'core' that give best performance.

From the mouth of the creator of BFS.
"Because BFS uses one global runqueue
for all tasks on the system, when a realtime task wants CPU time, BFS will
find the most suitable CPU anywhere in the system to run it on, by kicking
off the lower priority task running anywhere."

http://ck.kolivas.org/patches/bfs/bfs-faq.txt

Looks like this one command [schedtool -I -e mpd] after schedtool is installed will increase performance.

Update:

Yes schedtool does seem to work as advertised. It can be added to the start up script.

From the mouth of the creator of BFS...
"Run your audio and video apps SCHED_ISO:
schedtool -I -e amarok
This will run amarok as an unprivileged real-time task. Note that if you start
an application that tries to get real-time scheduling (eg jackd) and you are
not starting it as root, BFS will automatically elevate it to SCHED_ISO for
you to give it the next best thing."
With BFS, once MPD is given unprivileged real-time priority it will be auto-magically run in a 'core' that give best performance.

From the mouth of the creator of BFS.
"Because BFS uses one global runqueue
for all tasks on the system, when a realtime task wants CPU time, BFS will
find the most suitable CPU anywhere in the system to run it on, by kicking
off the lower priority task running anywhere."

http://ck.kolivas.org/patches/bfs/bfs-faq.txt

Looks like this one command [schedtool -I -e mpd] after schedtool is installed will increase performance.

Update:

Yes schedtool does seem to work as advertised. It can be added to the start up script.

I agree with you FIFO should be a better choice. I personally use FIFO for IRQs threads and RR for mpd.
I read the link (and others) some time ago and that is why I use RR. I am almost sure mpd is not coded for pure realtime. The FIFO class require some special coding for resources (threads, cpu, memory. etc...) management (claim, release, use) where the RR class don't.

That is what is running in my htpc (my alix is not connected right now) ordered by effective priority:

I have a Xonar Essence ST (snd-oxygen), an M2Tech Hiface2 (ehci-hcd), an M2tech Young (ehci-hcd) and the music is on a remote server (enp3s0). That should explain how are my irqs configured.

The ksoftirqd is not an audio process, it's a kernel daemon that manage software irqs (as you say, one per cpu). There should be no need to prioritze this.
I was talking about the 4 threads (audio decoding, player...) that are created by the mpd process. If you use htop you can see them if you use tree view (F5). Be sure in setup->display options->hide userland threads is not checked.

Idolse,

If you don't already know, the kernel release 3.11 will ship with 32 new audio drivers iirc (hiface included) and many alsa/drivers improvements.

Regarding the questions on the kernel - the specific kernel is 2.6.39-4, and it has the BFS scheduler patches. I'm not sure whether this scheduler contributes to any sound quality perception discussions, but theoretically it sounds like a better deal for audio than the stock scheduler.

@boulogne75 - NFS support still isn't in the wizards, but the system has always supported NFS to the best of my knowledge. I've recently picked up a Synology NAS which supports NFS, so I may dig back into it.

Thanks for the extra info on ulimits.

I think the performance gain is really marginal on a dedicated music server. This scheduler aims for better task interactivity. More load implies more gain in perfs. I've read some tests and under heavy loads it showed up to be 10% better than the stock scheduler.
Anyway, it shouldn't hurt and I have the same sensation than you.

Tell me if I can help with NFS

Can you PM me the .config you use to compile the kernel. I would like to take a look.

My pleasure
How do my perceived results compare with your own? I am sure is is system specific to some extent.

My perception is when in apply both ulimit -s and -l as unlimited the sound becomes a bit more coherent without any sense of edginess that you mentioned. Before there was just a very slight bit.

FWIW, I also removed some processes that were started in the init.d folder that I do not need in my setup.
15.avahi
37.client175
slmodem
start_cpu_freq
25.lcd
40.mpdscribble

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I am going through all the processes one by one and removing everything that is not needed to 1) run puppy linux and 2) run mpd.

Notice process 27 for swap....although this OS does not swap. If the OS does not swap then the process must go. Guessing that the udevd daemon is associated with the hard drive polling. Thats 6 daemons that should be stopped....somehow.

Regarding the discussion on ulimit - this is starting to sound like a major research project, I'll see what I can find out though - wouldn't be surprised if the defaults are set at compile time for the kernel. I'm pretty sure I don't want to install PAM or any extra background processes to make limits.conf work.

It is a noble effort. My lack of linux experience shows.. I cannot understand why I can have a startup script that does everything else. But when I put ulimit commands in 20.mpd, rc.local or my own startup script which is involked in init.d these commands do not take effect.

So my music listening start process is now to power up everything, then ssh into mpdpup and cut and paste into the command line

Woaa, nice gear you have
I was just asking for the hardware running when you executed the ps command.
ata_sff -> I suspect your sata controller is running in ide/pata mode not ahci. You can check the bios to confirm.
scsi_ehX -> It is the SCSI midlayer error handling infrastructure (one by sata channel activated on the controller). If, in the bios, you can disable the unneeded sata ports you should be able to get only one scsi_ehX process.
hd-audio0 -> Depending on the internal soundcard you have try to add "blacklist snd-hda-intel" to /etc/modprobe.d/blacklist.conf (create the file if it doesn't exist).

Dynobot, wlowes,

I still don't understand what you are trying to achieve with the ulimit command. Changing limits for root user? mpd user? mpd process?
The only thing you do executing these commands in a ssh session as root is changing the limits (both hard and soft) for the root user in the shell launched for this session. All the changes are lost as soon as you close the ssh session.

Quote:

I don't mean that in disrespect. Simply, there must be some way for us to figure out how to enter these commands when mpd starts other than command line. I will keep digging..

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum