I mentionned the mt driver in the post below and obviously meant 'st'
instead. The st driver uses scatter lists since linux-2.1.121 and I
just missed this improvement.
Btw, the author of the st driver didn't miss my mistake. :)

Sorry, for the mistake and apologizes to Kai.

G�rard.

On Sat, 20 Feb 1999, Gerard Roudier wrote:

> 
> 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. 
> (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 
>     are not open.
> 
> Regards,
>    G�rard.
> 


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to