libc_r silliness

Daniel Eischen eischen at vigrid.com
Tue Jul 8 16:38:41 PDT 2003


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.

-- 
Dan Eischen



More information about the freebsd-threads mailing list