change kthread priority
From: loody <hidden>
Date: 2011-07-11 06:53:56
hi: 2011/7/11 Dave Hylands [off-list ref]:
Hi Milody, On Sun, Jul 10, 2011 at 8:55 PM, loody [off-list ref] wrote:quoted
hi: 2011/7/11 Mulyadi Santosa [off-list ref]:quoted
Hi......snip...quoted
quoted
AFAIK they are user mode libc functions...I found there are the same export_symbols in kernel. I use them to dynamically change the priority. It works but I found something interesting: 1. if thread use schedule algorithm of SCHED_NORMAL, it cannot change the priority. 2. can we set the priority ?to any number less than (MAX_USER_RT_PRIO-1)? ( I tried to set the priority as 99, but it fail)You need to change the scheduling algorithim to be SCHED_FIFO or SCHED_RR in order to use the real-time priorities.
I saw kernel restrict the algorithm as SCHED_FIFO and SCHED_RR to change the priority. What are the differences between rt_priority, prio, static_prio and normal_prio? sched_setscheduler seems only change rt_priority. normal_prio is MAX_RT_PRIO-1 - t_priority prio will be min(normal_prio, task_top_pi_waiter) what is the real priority that kthread runs after calling sched_setscheduler ?
quoted
3. can we get the name of thread from task_struct or pid? (I use "cat /proc/338/status", I can see the name of thread. But I look around the task_struct, I cannot find any name information in it.)You can use the comm field from the task struct. This can be set using the prctl API and passing in PR_SET_NAME. You can see the task name by doing something like ps -T -o pid,ppid,user,time,comm Normally, ps shows the args column. -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com
-- Regards,