Hello, I'm seeking any help on tuning the Linux kernel running in an embedded environment to meet some of the soft real-time requirements that we have for our platform. Our custom board is based on PPC MPC8540 processor and it runs kernel 2.4.20 with the low-latency patch and kernel preemption enabled. The applications running on that board keep experiencing a "task starvation" scenario, which leads to missing soft real-time deadline requirements.
We've tried to prioritize the applications that needed to meet these soft real-time deadlines above other "background" tasks performing unarchiving operations (gzip + tar) through the means of adjusting dynamic as well as static priorities. Dynamic priorities were assigned through "nice()" function and static priorities were assigned for the round robin policy of the scheduler through "sched_setscheduler()". We've pretty much exhausted all combinations of the priority assignments without finding the right configuration that would satisfy both soft real-time deadlines and overall system performance requirements. Soft real-time deadlines are being missed during unarchiving procedures. Any hints and ideas would be greatly appreciated. Regards, Adam Zajac