Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Oct 1995 16:34:05 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        julian@ref.tfs.com (Julian Elischer)
Cc:        cimaxp1!jb@werple.net.au, leisner@sdsp.mc.xerox.com, hackers@FreeBSD.ORG, jb@cimlogic.com.au
Subject:   Re: NetBSD/FreeBSD (pthreads)
Message-ID:  <199510192334.QAA03590@phaeton.artisoft.com>
In-Reply-To: <199510192246.PAA23918@ref.tfs.com> from "Julian Elischer" at Oct 19, 95 03:46:19 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > I'm curious about why you *need* kernel threads.
> 
> usually it's for several blocking IO streams..

It also buys you competition for a single threaded process as if it
were multiple processes.

For a threaded process that use to be multiple processes (ie: NFS
daemons, etc.), this allows "fairer" competition for process quantum
than would otherwise be the case.

Identical function with no gratuitous blocking (I/O isn't necessarily
the only blocking operation: wait(), etc.) when there is at least one
thread capable of running requires n==m for an n:m mapping of user to
kernel threads.


It's a neat problem to think about.  I have a process (but not a formula)
for determining throuput/efficiency based on ratios of n:m.  This problem
is almost exactly analogous to loop-unrolling parallelization of a process
for SMP and/or treading of predicate-inependent I/O across multiple I/O
channels.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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