libc_r silliness

John Baldwin jhb at FreeBSD.org
Tue Jul 8 16:41:36 PDT 2003


On 08-Jul-2003 Daniel Eischen wrote:
> On Wed, 9 Jul 2003, David Xu wrote:
>> 
>> From: "John Baldwin" <jhb at FreeBSD.org>
>> 
>> > On Tuesday 08 July 2003 06:35 am, Terry Lambert wrote:
>> > > Daniel Eischen wrote:
>> > > > I have not found anything yet regarding sched_get_priority_{min,max}
>> > > > confusion in the POSIX spec...
>> > >
>> > > http://www.opengroup.org/onlinepubs/007904975/functions/sched_get_priority_
>> > >max.html
>> > >
>> > > The functions take a policy parameter; they are supposed to
>> > > return "appropriate" values, which I took to mean "appropriate
>> > > to the policy parameter supplied at the time they were called":
>> > >
>> > > int sched_get_priority_max(int policy);
>> > > int sched_get_priority_min(int policy);
>> > >
>> > > The sched_get_priority_max() and sched_get_priority_min()
>> > > functions shall return the appropriate maximum or minimum,
>> > > respectively, for the scheduling policy specified by policy.
>> > 
>> > Yes, but in a multithreaded program when I call 
>> > sched_get_priority_max(SCHED_RR), does that tell me the maximum process 
>> > SCHED_RR priority for use with sched_setschedparam() or does it tell me the 
>> > maximum thread SCHED_RR priority for use with pthread_setschedparam()?
>> > 
>> See page:
>> http://www.opengroup.org/onlinepubs/007904975/basedefs/sched.h.html
>> They are marked with 'TPS' code, so they are applied to thread scheduling.
>> Otherwise, they should be marked with 'PS' code.
> 
> Actually, <sched.h> is marked PS, not TPS, and the text of
> the page talks about "process":
> 
>   Each process is controlled by an associated scheduling policy
>   and priority. Associated with each policy is a priority range.
>   Each policy definition specifies the minimum priority range for
>   that policy. The priority ranges for each policy may overlap
>   the priority ranges of other policies.
> 
> Regardless, we have kernel scheduling parameters _and_ thread
> scheduling parameters.  From my interpretation, these interfaces
> refer to the process scheduling, not thread scheduling.
> This is a good link too:
> 
>   http://www.opengroup.org/onlinepubs/007904975/functions/xsh_chap02_08.html#tag_02_08_04_01
> 
>   Each process shall be controlled by an associated scheduling policy
>   and priority. These parameters may be specified by explicit
>   application execution of the sched_setscheduler() or
>   sched_setparam() functions.
> 
>   Each thread shall be controlled by an associated scheduling policy
>   and priority. These parameters may be specified by explicit
>   application execution of the pthread_setschedparam() function.

So is X/Open OSI whoever just assuming that the process and thread
scheduling policies implement identical priority ranges?

-- 

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


More information about the freebsd-threads mailing list