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: Adaptec 1542 SCSI adapter:
Using buffer sizes of more than 32768 bytes with the aha1542 driver can Using buffer sizes of more than 32768 bytes with the aha1542 driver can
lead to kernel panic with older kernels. To avoid this, set lead to kernel panic with older kernels. To avoid this, run configure with
--enable-scsibuffersize or SANE_SG_BUFFERSIZE to 32768, or download and the option --enable-scsibuffersize or set the environment variable
install the SG driver 2.1.37 or newer from http://www.torque.net/sg. 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: idescsi:
The Linux kernel "Emulation of a SCSI host adapter for IDE ATAPI 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 SANE. If your scanner isn't found or you encounter segmentation faults
try to disable idescsi. try to disable idescsi.
Direct IO: Recent versions of the Linux SG driver for the 2.4 kernels support SCSI Direct IO: Recent versions of the Linux SG driver for the 2.4 kernels
direct IO, i.e., the SCSI adapter's DMA chip copies data directly to/from support direct IO, i.e., the SCSI adapter's DMA chip copies data directly
user memory. Direct IO reduces memory usage and it may give better to/from user memory. Direct IO reduces memory usage, but it can lead to
throughput for very fast scanners, but it can lead to access conflicts, access conflicts, if a backend uses shared memory. SANE does not use
if a backend uses shared memory. SANE does not use direct IO by default, direct IO by default. If you want to use it, run
if you want to use it, run
configure --enable-directio=yes configure --enable-scsi-directio=yes
Other Information 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]) [SCSI command buffer size])
echo "scsi buffersize: $set_scsibuffersize" echo "scsi buffersize: $set_scsibuffersize"
AC_ARG_ENABLE(directio, AC_ARG_ENABLE(scsi-directio,
[ --enable-directio enable direct IO (Linux only; can lead to crashes [ --enable-scsi-directio enable SCSI direct IO (Linux only; can lead to
with backends using shared memory) [default=no]], 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 if eval "test x$enable_scsi_directio = xyes"; then
CFLAGS="$CFLAGS -DENABLE_DIRECTIO" 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 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]); req->sgdata.sg3.hdr.sbp = &(req->sgdata.sg3.sense_buffer[0]);
/* 10 minutes should be ok even for slow scanners */ /* 10 minutes should be ok even for slow scanners */
req->sgdata.sg3.hdr.timeout = 1000 * 60 * 10; req->sgdata.sg3.hdr.timeout = 1000 * 60 * 10;
#ifdef ENABLE_DIRECTIO #ifdef ENABLE_SCSI_DIRECTIO
/* for the adventurous: If direct IO is used, /* for the adventurous: If direct IO is used,
the kernel locks the buffer. This can lead to conflicts, the kernel locks the buffer. This can lead to conflicts,
if a backend uses shared memory. if a backend uses shared memory.