Hi:
2011/7/11 loody <[email protected]>: > hi: > > > 2011/7/11 Dave Hylands <[email protected]>: >> Hi Milody, >> >> On Sun, Jul 10, 2011 at 8:55 PM, loody <[email protected]> wrote: >>> hi: >>> >>> 2011/7/11 Mulyadi Santosa <[email protected]>: >>>> Hi... >>>> >> >> ...snip... >> >>>> 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 ? > > >> >>> 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. >> >> -- Since there are below schedule algorithms in kernel, SCHED_NORMAL SCHED_FIFO SCHED_RR SCHED_BATCH when and how they circular around? or each of them has a fix cpu time slice to go through? BR, cckuo
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
