Replaced the configure option --enable-diretio with --enable-scsi-directio

and --enable-parport-directio.

NOTE: While I know, what the SCSI direct IO means, I have no idea, what
direct IO means in the context of the parport, so somebody needs to add
some useful description about parport direct io to configure.in and to
README (or README.linux)
DEVEL_2_0_BRANCH-1
Abel Deuring 2001-12-28 13:26:12 +00:00
rodzic 917fa0b379
commit 1909b7f500
4 zmienionych plików z 266 dodań i 233 usunięć

Wyświetl plik

@ -50,9 +50,11 @@ in devfs".
Adaptec 1542 SCSI adapter:
Using buffer sizes of more than 32768 bytes with the aha1542 driver can
lead to kernel panic with older kernels. To avoid this, set
--enable-scsibuffersize or SANE_SG_BUFFERSIZE to 32768, or download and
install the SG driver 2.1.37 or newer from http://www.torque.net/sg.
lead to kernel panic with older kernels. To avoid this, run configure with
the option --enable-scsibuffersize or set the environment variable
SANE_SG_BUFFERSIZE to 32768 before running scanimage or another frontend,
or download and install the SG driver 2.1.37 or newer from
http://www.torque.net/sg.
idescsi:
The Linux kernel "Emulation of a SCSI host adapter for IDE ATAPI
@ -60,14 +62,13 @@ idescsi:
SANE. If your scanner isn't found or you encounter segmentation faults
try to disable idescsi.
Direct IO: Recent versions of the Linux SG driver for the 2.4 kernels support
direct IO, i.e., the SCSI adapter's DMA chip copies data directly to/from
user memory. Direct IO reduces memory usage and it may give better
throughput for very fast scanners, but it can lead to access conflicts,
if a backend uses shared memory. SANE does not use direct IO by default,
if you want to use it, run
SCSI Direct IO: Recent versions of the Linux SG driver for the 2.4 kernels
support direct IO, i.e., the SCSI adapter's DMA chip copies data directly
to/from user memory. Direct IO reduces memory usage, but it can lead to
access conflicts, if a backend uses shared memory. SANE does not use
direct IO by default. If you want to use it, run
configure --enable-directio=yes
configure --enable-scsi-directio=yes
Other Information

451
configure vendored

Plik diff jest za duży Load Diff

Wyświetl plik

@ -314,12 +314,27 @@ AC_DEFINE_UNQUOTED(SCSIBUFFERSIZE, $set_scsibuffersize,
[SCSI command buffer size])
echo "scsi buffersize: $set_scsibuffersize"
AC_ARG_ENABLE(directio,
[ --enable-directio enable direct IO (Linux only; can lead to crashes
with backends using shared memory) [default=no]],
AC_ARG_ENABLE(scsi-directio,
[ --enable-scsi-directio enable SCSI direct IO (Linux only; can lead to
crashes with backends using shared memory)
[default=no]
This option is in no way related to
--enable-parport-directio. See README.linux for
more information],
[
if eval "test x$enable_directio = xyes"; then
CFLAGS="$CFLAGS -DENABLE_DIRECTIO"
if eval "test x$enable_scsi_directio = xyes"; then
CFLAGS="$CFLAGS -DENABLE_SCSI_DIRECTIO"
fi
])
AC_ARG_ENABLE(parport-directio,
[ --enable-parport-directio enable parallel port direct IO
XXXX short descrption needed [default=no]
This option is inno way related to
--enable-scsi-directio],
[
if eval "test x$enable_parport_directio = xyes"; then
CFLAGS="$CFLAGS -DENABLE_PARPORT_DIRECTIO"
fi
])

Wyświetl plik

@ -1931,7 +1931,7 @@ sanei_scsi_req_enter2 (int fd,
req->sgdata.sg3.hdr.sbp = &(req->sgdata.sg3.sense_buffer[0]);
/* 10 minutes should be ok even for slow scanners */
req->sgdata.sg3.hdr.timeout = 1000 * 60 * 10;
#ifdef ENABLE_DIRECTIO
#ifdef ENABLE_SCSI_DIRECTIO
/* for the adventurous: If direct IO is used,
the kernel locks the buffer. This can lead to conflicts,
if a backend uses shared memory.