Date: Tue, 08 Jul 2003 20:01:24 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: deischen@FreeBSD.org Cc: threads@FreeBSD.org Subject: Re: libc_r silliness Message-ID: <XFMail.20030708200124.jhb@FreeBSD.org> In-Reply-To: <Pine.GSO.4.10.10307081944290.7270-100000@pcnet5.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08-Jul-2003 Daniel Eischen wrote: > On Tue, 8 Jul 2003, John Baldwin wrote: >> >> On 08-Jul-2003 Daniel Eischen wrote: >> > 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? > > I dunno, but it seems that is the case. > > We could add pthread_get_priority_{min,max}_np(int policy) as > non-portable functions. We could also just force all the thread libraries and kernel to use the same priority ranges. Another possibility is to have each thread library provide their own sched_get_{min,max} and wrap the sched_{get,set}schedparam() syscalls to massage the thread priority values into their corresponding process priority values to simulate a single priority space for each policy. -- 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.20030708200124.jhb>