Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 08 Jul 2003 19:41:45 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        deischen@freebsd.org
Cc:        David Xu <davidxu@viatech.com.cn>
Subject:   Re: libc_r silliness
Message-ID:  <XFMail.20030708194145.jhb@FreeBSD.org>
In-Reply-To: <Pine.GSO.4.10.10307081901470.29674-100000@pcnet5.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 08-Jul-2003 Daniel Eischen wrote:
> On Wed, 9 Jul 2003, David Xu wrote:
>> 
>> From: "John Baldwin" <jhb@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@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20030708194145.jhb>