-
Christoph Hellwig authored
Blk-mq drivers usually preallocate their S/G list as part of the request, but if we want to support the very large S/G lists currently supported by the SCSI code that would tie up a lot of memory in the preallocated request pool. Add support to the scatterlist code so that it can initialize a S/G list that uses a preallocated first chunks and dynamically allocated additional chunks. That way the scsi-mq code can preallocate a first page worth of S/G entries as part of the request, and dynamically extend the S/G list when needed. Signed-off-by:
Christoph Hellwig <hch@lst.de> Reviewed-by:
Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by:
Hannes Reinecke <hare@suse.de> Reviewed-by:
Webb Scales <webbnh@hp.com> Acked-by:
Jens Axboe <axboe@kernel.dk> Tested-by:
Bart Van Assche <bvanassche@acm.org> Tested-by:
Robert Elliott <elliott@hp.com>
c53c6d6a