Re: preempt-rt: Real Time hogging task
From: Steven Rostedt <rostedt@goodmis.org>
Date: 2012-02-02 14:12:06
On Thu, 2012-02-02 at 12:52 +0200, Raz wrote:
hey I am trying to understand why a user space MT process behaves in an unexpected manner. I have real time process, which executes most of its threads in RT priority, and from time to time a task ( medium priority ) is executing without trying to stop. There are times, that this task is hogging the entire process and no other **higher*** rt priority task is getting any cpu time. Linux is **not** getting hogged. when setting the serial console ( irq/serial ) and its shell ( /bin/sh ) to a higher priority linux is responsive. Observing the task list through ps command i can see that this task's threads when to un-interruptible sleep. Any idea why is it happening ?
Some ideas, but I need a lot more information.
kernel is 3.2.0-rc5-rt8.
Is this a x86 box? Can you run a trace on the task that is going berserk? Enable CONFIG_FUNCTION_TRACER in your kernel and do the following: # mount -t debugfs nodev /sys/kernel/debug # cd /sys/kernel/debug/tracing # echo <pid-of-berserk-task> > set_ftrace_pid # echo function > current_tracer # cat trace Thanks! -- Steve