Date: Fri, 04 Feb 2000 20:24:56 -0700 From: "Russell L. Carter" <rcarter@pinyon.org> To: Zhihui Zhang <zzhang@cs.binghamton.edu> Cc: freebsd-hackers@FreeBSD.ORG, rcarter@pinyon.org Subject: Re: FreeBSD Posix threads Message-ID: <20000205032456.450F65B@pinyon.org> In-Reply-To: Message from Zhihui Zhang <zzhang@cs.binghamton.edu> of "Fri, 04 Feb 2000 12:25:17 EST." <Pine.GSO.3.96.1000204121232.25825C-100000@sol.cs.binghamton.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
%
%I have searched the archive for a while and still have some confusions
%about this subjects:
%
%(1) Some people say "For I/O bound activity, kernel threads are a really
%bad idea". But I read the following passage from else where:
%
%Kernel threads perform better in I/O-intensive applications because system
%call can be blocking for kernel threads (so there is only one
%user-to-kernel and kernel-to-user transition per I/O operation rather than
%two).
%
%So which one is the correct answer? I know there is only userland thread
%in FreeBSD, but I would like to know the answer.
%
%(2) User threads are supposed to be faster than kernel threads in context
%switch. But since we poll devices during each context switch, it is
%actually slower (poll() is the extra system call). Is this correct?
%
%(3) Can I do cooperative thread scheduling on FreeBSD? I guess the
%constant SCHED_RR (round robin) means preemptive. How about SCHED_FIFO
%and SCHED_OTHER defined in posix4/sched.h? Can I choose from them? In
%the case of SCHED_RR, I still do part of scheduling by routines like
%yield(), cond_signal(). Am I right?
%
%Any help is appreciated.
Excellent questions.
However, what is not stated is perhaps the most important (to me,
and other people burning up and showering down $$$). C++ programmers
use threads to share class members. In that context, the POSIX
realtime scheduling classes (SCHED_*) are quite useful, albeit abstractly
for now.
IMNSHO, focusing on fine-grained benchmarks ("perform better") for
an execution model based on C processes may be misleading in the
realistic broader picture.
Russell
%-Zhihui
%
%
%
%
%To Unsubscribe: send mail to majordomo@FreeBSD.org
%with "unsubscribe freebsd-hackers" in the body of the message
%
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000205032456.450F65B>
