sane-project-website/old-archive/2000-02/0019.html

140 wiersze
5.3 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>sane-devel: Re: fork or pthread for async I/O?</TITLE>
<META NAME="Author" CONTENT="Douglas Gilbert (dgilbert@interlog.com)">
<META NAME="Subject" CONTENT="Re: fork or pthread for async I/O?">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Re: fork or pthread for async I/O?</H1>
<!-- received="Wed Feb 2 20:13:14 2000" -->
<!-- isoreceived="20000203041314" -->
<!-- sent="Wed, 02 Feb 2000 23:21:39 -0500" -->
<!-- isosent="20000203042139" -->
<!-- name="Douglas Gilbert" -->
<!-- email="dgilbert@interlog.com" -->
<!-- subject="Re: fork or pthread for async I/O?" -->
<!-- id="38990253.1593F40@interlog.com" -->
<!-- inreplyto="3898B6C7.8ED4B6F2@wolfsburg.de" -->
<STRONG>From:</STRONG> Douglas Gilbert (<A HREF="mailto:dgilbert@interlog.com?Subject=Re:%20fork%20or%20pthread%20for%20async%20I/O?&In-Reply-To=&lt;38990253.1593F40@interlog.com&gt;"><EM>dgilbert@interlog.com</EM></A>)<BR>
<STRONG>Date:</STRONG> Wed Feb 02 2000 - 20:21:39 PST
<P>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0020.html">Peter J Jones: "Re: xscanimage and Gimp Menu Location"</A>
<UL>
<LI><STRONG>Previous message:</STRONG> <A HREF="0018.html">David Lindgren: "Re: Possible odd coincidence? (was Re: Problem compiling sane-1.0.1 frontend...)"</A>
<LI><STRONG>In reply to:</STRONG> <A HREF="0017.html">Oliver Rauch: "Re: fork or pthread for async I/O?"</A>
<!-- nextthread="start" -->
<LI><STRONG>Next in thread:</STRONG> <A HREF="0024.html">abel deuring: "Re: fork or pthread for async I/O?"</A>
<LI><STRONG>Reply:</STRONG> <A HREF="0024.html">abel deuring: "Re: fork or pthread for async I/O?"</A>
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#19">[ date ]</A>
<A HREF="index.html#19">[ thread ]</A>
<A HREF="subject.html#19">[ subject ]</A>
<A HREF="author.html#19">[ author ]</A>
</UL>
<HR NOSHADE><P>
<!-- body="start" -->
<P>
Oliver Rauch wrote:
<BR>
<EM>&gt;
</EM><BR>
<EM>&gt; <A HREF="mailto:msitkows@au1.ibm.com?Subject=Re:%20fork%20or%20pthread%20for%20async%20I/O?&In-Reply-To=&lt;38990253.1593F40@interlog.com&gt;">msitkows@au1.ibm.com</A> wrote:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt; &gt; Add to that, the fact that different versions of Unix (like AIX or Solaris)
</EM><BR>
<EM>&gt; &gt; use slightly different implementations of pthreads with each release, and
</EM><BR>
<EM>&gt; &gt; my advice would be, forget it. I think portability is more important, for a
</EM><BR>
<EM>&gt; &gt; public software package.
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Hi,
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; I think the same.
</EM><BR>
<P>Most scsi scanners do not support disconnect or tagged queuing
<BR>
so you are not going to get much benefit from async io. Abel
<BR>
Deuring has done some work in this area and did get some
<BR>
timing improvements on Linux. I think scsi commands were
<BR>
probably queued up at the HBA and thus got out to the
<BR>
scanner quicker after it finished the previous command
<BR>
(compared with having to go up through the scsi layers,
<BR>
out to the app and back down again). Abel used non blocking
<BR>
techniques rather than POSIX threads, I think. [I have used
<BR>
POSIX threads to do async IO on high end disks with good
<BR>
results (compared with the standard dd command).]
<BR>
<P>There seems to be a non-linear effect with scanners. You have
<BR>
a time window to get the next &quot;read&quot; out to the device after
<BR>
the previous one has finished. If the window is missed the
<BR>
scan stops, the mechanism backs up a little and recommences.
<BR>
A small change in the speed the next command gets out to the
<BR>
scanner can mean the difference between a slow, jerky scan
<BR>
and one continuous pass.
<BR>
<P>Doug Gilbert
<BR>
<P><PRE>
--
Source code, list archive, and docs: <A HREF="http://www.mostang.com/sane/">http://www.mostang.com/sane/</A>
To unsubscribe: echo unsubscribe sane-devel | mail <A HREF="mailto:majordomo@mostang.com?Subject=Re:%20fork%20or%20pthread%20for%20async%20I/O?&In-Reply-To=&lt;38990253.1593F40@interlog.com&gt;">majordomo@mostang.com</A>
</PRE>
<P><!-- body="end" -->
<HR NOSHADE>
<UL>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0020.html">Peter J Jones: "Re: xscanimage and Gimp Menu Location"</A>
<LI><STRONG>Previous message:</STRONG> <A HREF="0018.html">David Lindgren: "Re: Possible odd coincidence? (was Re: Problem compiling sane-1.0.1 frontend...)"</A>
<LI><STRONG>In reply to:</STRONG> <A HREF="0017.html">Oliver Rauch: "Re: fork or pthread for async I/O?"</A>
<!-- nextthread="start" -->
<LI><STRONG>Next in thread:</STRONG> <A HREF="0024.html">abel deuring: "Re: fork or pthread for async I/O?"</A>
<LI><STRONG>Reply:</STRONG> <A HREF="0024.html">abel deuring: "Re: fork or pthread for async I/O?"</A>
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#19">[ date ]</A>
<A HREF="index.html#19">[ thread ]</A>
<A HREF="subject.html#19">[ subject ]</A>
<A HREF="author.html#19">[ author ]</A>
</UL>
<!-- trailer="footer" -->
<HR NOSHADE>
<P>
<SMALL>
<EM>
This archive was generated by <A HREF="http://www.hypermail.org/">hypermail 2b29</A>
: <EM>Wed Feb 02 2000 - 20:33:45 PST</EM>
</EM>
</SMALL>
</BODY>
</HTML>