Re: [PATCH 1/1] ftrace: fix typo in ftrace.txt file

From: GeunSik Lim
Date: Wed May 20 2009 - 00:40:36 EST


2009/5/20 Steven Rostedt <rostedt@xxxxxxxxxxx>:
>
> On Wed, 20 May 2009, GeunSik Lim wrote:
>
>>
>>
>> commit 43bf3fdddfd6b0ac65ef59bec3c79d9f9064e8bd
>> Author: GeunSik,Lim <leemgs1@xxxxxxxxx>
>> Date: Â Thu May 14 13:39:18 2009 +0900
>>
>> Â Â ftrace: fix typo in ftrace.txt file.
>>
>> Â Â Fix typo about chart to map the kernel priority to
>> Â Â user land priorities.
>>
>> Â Â About sched_setscheduler(2)
>> Â Â Processes scheduled under SCHED_FIFO or SCHED_RR
>> Â Â can have a static priority in the range 1 to 99.
>>
>> Â Â Â Â Signed-off-by: GeunSik Lim <geunsik.lim@xxxxxxxxxxx>
>>
>> diff --git a/Documentation/trace/ftrace.txt b/Documentation/trace/ftrace.txt
>> index fd9a3e6..0e17632 100644
>> --- a/Documentation/trace/ftrace.txt
>> +++ b/Documentation/trace/ftrace.txt
>> @@ -518,9 +518,14 @@ priority with zero (0) being the highest priority and the nice
>> Âvalues starting at 100 (nice -20). Below is a quick chart to map
>> Âthe kernel priority to user land priorities.
>>
>> - ÂKernel priority: 0 to 99 Â Â==> user RT priority 99 to 0
>> - ÂKernel priority: 100 to 139 ==> user nice -20 to 19
>> - ÂKernel priority: 140 Â Â Â Â==> idle task priority
>> + Kernel priority: 0(high) to 99(low) Â Â==> user RT priority 99(high) to 1(low)
>
> Shouldn't that be:
>
> ÂKernel priority: 0(high) to 98(low) Â Â==> user RT priority 99(high) to 1(low)
>
Thank you for your opinion. I think about corrected expression for
quick chart to map between kernel space and user space in ftrace .

> 100 items does not map to 99. Which begs the question, what can have
> internal kernel priority 99?
>
ok. Below example is about kernel (static) priority 99 that you said.
please, refer to
http://www.kernel.org/doc/man-pages/online/pages/man2/sched_setscheduler.2.html
webpage.

For processes scheduled under one of the normal scheduling policies
(SCHED_OTHER, SCHED_IDLE, SCHED_BATCH), sched_priority is not used in
scheduling decisions (it must be specified as 0).


int main (int argc, char **argv)
{ int pidnumber, ret;
struct sched_param p;
p.sched_priority = 0; <------ Kernel (static) priority.
if (argc != 2) {
printf("usage: setbatch <pid>\n");
exit(-1);
}
pidnumber = atol(argv[1]);
/* 3 = Number of SCHED_BATCH Constant */
ret = sched_setscheduler(pidnumber, 3, &p);
if (ret) {
printf("could not set pid %d to SCHED_BATCH: err %d.\n", pid, ret);
return -1;
}
printf("pid %d is SCHED_BATCH from now on.\n", pid);
return 0;
}


>> + Kernel priority: 100(high) to 139(low) ==> user nice -20(high) to 19(low)
>> + Kernel priority: 140 Â Â Â Â Â Â Â Â Â ==> idle task priority
>> +
>> +Processes scheduled with SCHED_OTHER or SCHED_BATCH must be assigned
>> +the static priority 0. Processes scheduled under SCHED_FIFO or SCHED_RR
>
> This line is confusing. "static priorty 0" really has no meaning here.
> Those now enter the "nice" priorities, and this statement does not
> represent what is shown in the ftrace output.
>
I agree with your opinion about exact understanding of ftrace output.
I will remove this additional description to avoid confusing
when we use this document as ftrace how to.

>> +can have a static priority in the range 1 to 99.
>> + (reference: $> man 2 sched_setscheduler)
>>
>
> -- Steve
>
>



--
Regards,
GeunSik Lim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/