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