[5947] in linux-scsi channel archive
proposal for big buffers under linux-scsi
daemon@ATHENA.MIT.EDU (Gerard Roudier)
Sat Feb 20 08:22:46 1999
Date: Sat, 20 Feb 1999 14:27:49 +0100 (MET)
From: Gerard Roudier <groudier@club-internet.fr>
To: linux-scsi@vger.rutgers.edu
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
--8323328-587258262-919517269=:2032
Content-Type: TEXT/PLAIN; charset=ISO-8859-1
Content-Transfer-Encoding: QUOTED-PRINTABLE
Hi all,
Latest linux scsi subsystem still tries to allocate huge physically
contiguous memory chunk. I know that large buffers are needed for devices
as CD-R, scanners and friends, since Linus^Hx does not allow to DMA from
userland. However, allocating large physically contiguous buffers should
_never_ have been the solution, because it is only guaranteed to succeed
at system start-up and it is wasting memory to pool huge buffers when they
are not used.
I have attached to this mail some _simple_ code that handles large buffers
as a scatterlist and that, for now, is just tested against trivial bugs
from userland. You may want to look into it and let me know if you think
that it is worth to continue this work by making the sg driver, the mt
driver and the SCSI_IOCTL_SEND_COMMAND rely on it.
Basically, the needed big buffers could be allocated at open() or on the
first IO after open() and freed on close(). For low-level drivers that
handle large scatterlists, only 1 PAGE allocations will be performed at a
time using the GFP_KERNEL priority that doesn't not require to be atomic.=
=20
(and obviously outside the nasty io_request lock)
The gain will be:
1 - guarantee to succeed for 'the 1 PAGE at a time' case, unless the
kernel is completely screwed-up.
2 - no memory wasting since no big buffers are allocated for devices that=
=20
are not open.
Regards,
G=E9rard.
--8323328-587258262-919517269=:2032
Content-Type: APPLICATION/octet-stream; name="scbuf.tar.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.990220142749.2032B@localhost>
Content-Description: simple scattered buffer management
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
OcpRjnKUoxzlKEc5/iLjv0NeNbcAUAAA
--8323328-587258262-919517269=:2032--
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu