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>