Re: change kthread priority

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi:


2011/7/11 Dave Hylands <dhylands@xxxxxxxxx>:
> Hi Milody,
>
> On Sun, Jul 10, 2011 at 8:55 PM, loody <miloody@xxxxxxxxx> wrote:
>> hi:
>>
>> 2011/7/11 Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx>:
>>> 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.
>
> --
> Dave Hylands
> Shuswap, BC, Canada
> http://www.davehylands.com
>



-- 
Regards,

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux