Hi:<br><br>2011/7/11 loody &lt;<a href="mailto:miloody@gmail.com">miloody@gmail.com</a>&gt;:<br>&gt; hi:<br>&gt;<br>&gt;<br>&gt; 2011/7/11 Dave Hylands &lt;<a href="mailto:dhylands@gmail.com">dhylands@gmail.com</a>&gt;:<br>
&gt;&gt; Hi Milody,<br>&gt;&gt;<br>&gt;&gt; On Sun, Jul 10, 2011 at 8:55 PM, loody &lt;<a href="mailto:miloody@gmail.com">miloody@gmail.com</a>&gt; wrote:<br>&gt;&gt;&gt; hi:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; 2011/7/11 Mulyadi Santosa &lt;<a href="mailto:mulyadi.santosa@gmail.com">mulyadi.santosa@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;&gt; Hi...<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; ...snip...<br>&gt;&gt;<br>&gt;&gt;&gt;&gt; AFAIK they are user mode libc functions...<br>&gt;&gt;&gt; I found there are the same export_symbols in kernel.<br>
&gt;&gt;&gt; I use them to dynamically change the priority.<br>&gt;&gt;&gt; It works but I found something interesting:<br>&gt;&gt;&gt; 1. if thread use schedule algorithm of SCHED_NORMAL, it cannot change<br>&gt;&gt;&gt; the priority.<br>
&gt;&gt;&gt; 2. can we set the priority  to any number less than (MAX_USER_RT_PRIO-1)?<br>&gt;&gt;&gt; ( I tried to set the priority as 99, but it fail)<br>&gt;&gt;<br>&gt;&gt; You need to change the scheduling algorithim to be SCHED_FIFO or<br>
&gt;&gt; SCHED_RR in order to use the real-time priorities.<br>&gt; I saw kernel restrict the algorithm as SCHED_FIFO and SCHED_RR to<br>&gt; change the priority.<br>&gt; What are the differences between rt_priority, prio, static_prio and normal_prio?<br>
&gt; sched_setscheduler seems only change rt_priority.<br>&gt;<br>&gt; normal_prio is MAX_RT_PRIO-1 - t_priority<br>&gt; prio will be min(normal_prio, task_top_pi_waiter)<br>&gt;<br>&gt; what is the real priority that kthread runs after calling sched_setscheduler ?<br>
&gt;<br>&gt;<br>&gt;&gt;<br>&gt;&gt;&gt; 3. can we get the name of thread from task_struct or pid?<br>&gt;&gt;&gt; (I use &quot;cat /proc/338/status&quot;, I can see the name of thread. But I<br>&gt;&gt;&gt; look around the task_struct, I cannot find any name information in<br>
&gt;&gt;&gt; it.)<br>&gt;&gt;<br>&gt;&gt; You can use the comm field from the task struct. This can be set using<br>&gt;&gt; the prctl API and passing in PR_SET_NAME. You can see the task name by<br>&gt;&gt; doing something like<br>
&gt;&gt;<br>&gt;&gt; ps -T -o pid,ppid,user,time,comm<br>&gt;&gt;<br>&gt;&gt; Normally, ps shows the args column.<br>&gt;&gt;<br>&gt;&gt; --<br><div>Since there are below schedule algorithms in kernel,</div><div>SCHED_NORMAL            <br>
SCHED_FIFO              <br>SCHED_RR                <br>SCHED_BATCH             <br>when and how they circular around?</div><div>or each of them has a fix cpu time slice to go through?</div><div>BR,</div><div>cckuo<br> </div>